前端跨域解决方案(全)

首先什么是跨域?

是指一个域下的文档或脚本试图去请求另一个域下的资源;

举个栗子:

1、 资源跳转: A链接、重定向、表单提交;
2、 资源嵌入: <link>、<script><img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链; 3、 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等;

什么是同源策略请求?  

同源策略/SOP(Same origin policy)是一种约定,是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 跨域就是非同源策略请求。

 前端跨域解决方案(全)_第1张图片

 

 

 

同源策略限制内容有:

  • Cookie、LocalStorage、IndexedDB 等存储性内容

  • DOM 节点

  • AJAX 请求发送后,结果被浏览器拦截了

但是有三个标签是允许跨域加载资源:

<img src=XXX>
<link href=XXX>
<script src=XXX>