什么是同源策略
- 同协议,如都是http或者https
- 同端口,如都是:8080或者:80端口
- 同域名,如是http://www.jirengu.com/a.js和http://www.jirengu.com/b.js就是同域的。
什么是跨域?跨域有几种实现形式
- 允许不同域的接口进行交互,俗称跨域
- 跨域的几种方式
- JSONP
- CORS
- 降域
- postMessage
JSONP 的原理是什么
- 通过
script
标签引用其他域下的js,可以达到跨域的请求目的。 - 通过监听事件在
head
头内添加script
标签。 -
script
的引用地址为跨域的地址,和后端指定某个参数,参数的值名是当前页面的执行函数名。 - 然后后端返回的包含了这个执行的函数段
- 页面通过后端返回的数据执行函数,达到跨域的目的。
CORS是什么
- CORS 是跨域资源共享,是一种ajax跨域请求资源的方式
- 当使用XMLHttpRequest发送请求时,浏览器会给改请求加一个请求头:origin
- 后台进行处理,确定接受请求,并返回一个响应头:Access-Control-Allow-Origin
- 浏览器判断该相应头中是否包含Origin的值,如果有则浏览器会处理响应,如果不包含,则无法取到数据。
根据视频里的讲解演示三种以上跨域的解决方式
- 本地HOSTS配置
网友评论