前言:什么是跨域? 大家都知道什么是同源策略,但是具体说一说过程恐怕有些大脑空白哦。跨域有前端和后端设置,但其实大多数我们都是为了保护服务器不受攻击,前端只是一个途径。 浏览器默认的限制是非同源之间的交互,比如阻止非同源请求发送到服务器(即使有时前端设置了跨域,也可能受到后端的限制的,只是前端设置可以解决浏览器限制就是了)

比如:从某页面嵌入脚本,去下载攻击网站的一个脚本,这个时候就起作用了,即阻隔恶意文档。

跨域写:比如提交操作、链接。

解决:

1、访问同主域:

  • 设置domain。
    通过document.domain设置为主域(如假设 文档中的一个脚本执行以下语句:document.domain = "company.com";

注意:任何对document.domain的赋值操作,都会导致端口号被重写为 null 。必须都进行赋值,以确保端口号都为 null 。并且必须确保在父域和子域中设置 document.domain 为相同的值。

2、CORS

指定哪些主机可以从这个服务端加载资源。

3、jsonp

通过script标签的src属性,将url、参数、回调函数名填入,访问成功后直接回调。

一切都是为了保护服务器