通信类的题目

原创 小Q 随笔 面试 81阅读 2018-09-10 14:27:40 举报

什么是同源策略及限制

源包括协议、域名、端口,有一个不同就是不同源,就属于跨域
限制:不是一个源,没有权限去操作另一个源文档

1、cookie、localStorage、IndexDB无法读取
2、dom无法获得
3、ajax请求不能发送(只适合同源通信)

前后端如何通信

ajax(同源)
WebSocket(不限制同源策略)
CORS(支持跨域和同源)

如何创建ajax

XMLHttpRequest对象的工作流程
兼容性处理
事件的触发条件
事件的触发顺序

跨域通信的几种方式

jsonp
hash(url地址中#后面的,hash改变页面不刷新,url这种search会改变页面所以做不了跨域)
通过iframe

postmessage(h5中新增加的)

websocket
https://www.cnblogs.com/jingmoxukong/p/7755643.html
此文关于websocket详解

cors(新出的同源标准,比喻为支持跨域通信的ajax)
https://www.cnblogs.com/keyi/p/6726089.html
或者
http://www.ruanyifeng.com/blog/2016/04/cors.html
此文关于cors详解
url为必须参数,options(可选)
fetch('/some/url',{
//如果想使用跨域通信,可以加一些配置
method:'get',
}).then(function(response){

}).catch(function(err){
//出错了等价于then的第二个参数,但这样更直观
})

cors为什么支持跨域?
浏览器会拦截ajax请求,如果它觉得ajax是跨域的,会在http条件中加个origion
json原理 是什么?怎么实现
网上去查
缺点:只能get

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复