1.17. 跨域
同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。
解决:
出于浏览器的同源策略限制,同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。
1. Jsonp方式解决跨域
只能实现get一种请求。
jsonp跨域
jsonp的原理就是利用script标签没有跨域限制,可以通过script标签的src属性发送get请求。
该请求的查询字符串有一个callback参数,用来指定回调函数的名字。
服务器收到这个请求后,会将数据放在回调函数的参数位置返回。
由于script元素请求的脚本,直接作为代码运行。然后该回调函数会立即执行。
#### 2. cors跨域资源共享
cors(跨域资源共享),他允许浏览器向跨域服务器发出XML请求,从而克服跨域问题。需要浏览器和服务端同时支持
cors请求分为两类:简单请求和非简单请求
简单请求:
浏览器直接发出cors请求,在头部信息加一个origin字段,表名请求来自哪个源
服务端响应:Access-control-Allow-Origin,Access-control-Allow-Credentials(是否允许发送cookie)、
CORS请求默认不发送Cookie和HTTP认证信息。如果要把Cookie发到服务器,一方面要服