跨域是指一个域下的文档或脚本试图去请求另一个域下的资源(广义的),我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。
同源策略:同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器的一些正常功能就会受到影响。
同源:所谓同源(即指在同一个域),就是两个页面具有相同的协议、主机、端口号
当协议、主机、端口号有一个不同时,就是跨域。
存在以下三种特殊情况,可以无视同源策略
1、加载图片,image标签src所指向的图跟地址是可以跨域的
2、用link标签加载css,href指向地址也是可以跨域的
3、script标签加载js,src指向的js地址也是可以跨域的
1、Cookie、LocalStorage无法读取,因为它们在两个源,也就是没有在一个域
2、DOM 和 Js对象无法读取
3、AJAX 请求不能发送
1.JSONP
2.CORS
3.通过修改document.domain来跨域
4.使用window.name来进行跨域
5. 使用HTML5中新引进的window.postMessage方法来跨域传送数据
未完待续...
原文:https://www.cnblogs.com/cdj61/p/13030998.html