一、问答
(一)、什么是同源策略?
同源策略简单的讲就是不同源(只要协议、域名、端口其中的一个不同就算作不同源)的网站之间下面三大类行为将受到限制:
(1) Cookie、LocalStorage 和 IndexDB 无法读取。
(2) DOM 无法获得。
(3) AJAX 请求不能发送。
(二)、什么是跨域?跨域有几种实现形式?
javascript出于安全考虑,不允许不同源间的网站进行文本或脚本间的资源交互,而采用某些技术使得不同源间的网站也能够进行上述行为的技术就叫做跨域;跨域的实现形式有以下几种:
- 1、降域;
- 2、JSONP;(只支持GET请求,无法判断请求是否失败,没有错误处理但其兼容性强,支持老式浏览器,以及可以向不支持CORS的网站请求数据)
- 3、CORS;(支持IE11及以上浏览器)
- 4、HTML5中的PostMessage方法
- 5、通过hash方法
- 6、通过window.name的方法
跨域的8种方法见:前端解决跨域问题的8种方案(最新最全)
(三)、jsonp 的原理是什么?
原理是利用