这次全了,8种超详细Web跨域处理方案!

导语 | 在日常开发过程中,我们通常都会遇到ajax跨域请求或者前端跨域通信的开发场景。无论是前端同学还是后端同学都需要具备解决跨域问题的能力。本文总结梳理了常见的跨域场景、跨域解决方案及其优缺点,希望可以作为大家解决跨域问题的参考。

什么是跨域
 
当a.qq.com域名下的页面或脚本试图去请求b.qq.com域名下的资源时,就是典型的跨域行为。跨域的定义从受限范围可以分为两种,广义跨域和狭义跨域。
 
 
(一)广义跨域
 
广义跨域通常包含以下三种行为:
 
资源跳转:a链接、重定向。
 
资源嵌入:、、、等dom标签,还有样式中background:url()、@font-face()等文件外链。
 
脚本请求:浏览器存储数据读取、dom和js对象的跨域操作、js发起的ajax请求等。
 
其中,资源跳转和资源嵌入行为可以正常请求到跨域资源,脚本请求在未经任何处理的情况下,通常会有跨域问题。
 
(二)同源策略
 
同源策略(Same origin policy, SOP)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源策略是指“协议+域名+端口”三者相同。

相关文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注