进阶-任务13

同源策略

如果非同源,以下三种行为将受到限制:

  • Cookie、LocalStorage 和 IndexedDB 无法读取。
  • DOM 无法获得。
  • AJAX 请求不能发送。
    同源是指:
  • 协议相同
  • 域名相同
  • 端口号相同
    同源策略是为了保证用户信息的安全,防止恶意的网站窃取数据。

跨域?跨域有几种实现形式

跨域是指因为Javascript同源策略的限制,非同源的脚本不能相互通信
跨域的实现形式:

  • JSONP
  • CORS
  • 降域
  • PostMessage

JSONP 的原理是什么

虽然浏览器默认禁止了跨域访问,但并不禁止在页面中引用其他域的JS文件。因此根据这一点,可以方便地通过创建script节点的方法来实现跨域的通信。JSOP的基本思想是网页通过添加一个<script>元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。

CORS是什么

CORS是一个W3C标准,全称是“跨域资源共享”(Cross-origin resource sharing)。CORS通信过程是浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,服务器端则需要解析这些的请求头信息,并按照策略返回相应的响应头以及所请求的资源。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容