1.跨域:
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
同协议,同端口,同域名才属于同一域。
ajax出于安全考虑禁止跨域,但是src可以跨域。
2.非同源限制
【1】无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB
【2】无法接触非同源网页的 DOM
【3】无法向非同源地址发送 AJAX 请求
3.跨距解决方法:
【1】设置document.domain解决无法读取非同源网页的 Cookie问题
此方案仅限主域相同,子域不同的跨域应用场景。
【2】跨文档通信 API:window.postMessage(data,url)
它可用于解决以下方面的问题:
【3】JSONP
【4】CORS
CORS 是跨域资源分享(Cross-Origin Resource Sharing)的缩写。它是 W3C 标准,属于跨源 AJAX 请求的根本解决方法。
1、普通跨域请求:只需服务器端设置Access-Control-Allow-Origin
2、带cookie跨域请求:前后端都需要进行设置
参考资料https://blog.csdn.net/qq_38128179/article/details/84956552
原文:https://www.cnblogs.com/OnceKing1996/p/13596265.html