浏览器同源策略: 协议(protocol)、主机名(host)、端口(port)
跨域访问不受限制:
跨域解决方式:
一、jsonp
通常为了减轻web服务器的负载,我们把js、css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域名下加载静态资源,而被浏览器允许,基于此原理,我们可以通过动态创建script,再请求一个带参网址实现跨域通信。
通过script标签,src网址请求+回调函数
缺点:只能get请求,容易受到xss攻击
二、cors跨域方案
cross-origin resource sharing 跨域资源共享
针对不同条件下的跨域请求,可将请求分为简单请求和非简单请求;
简单请求(满足以下三个条件)
- 请求方式为GET,POST,HEAD方法
- Content-Type为application/x-www-form-urlencodeed,text/plain,multipart/form-data中的一种
- 没有使用自定义的请求头