在浏览器中,保证访问数据安全 的基础就是同源策略。
同源策略的三大要素:协议相同、域名相同、端口 相同。
同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本 如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
同源的定义:如果两个URL的 protocol、port(en-US)(如果有指定的话)和host都相同的话,则这两个URL是同源。这个方案也被称为“协议/主机/端口元祖”,或者直接就是“元祖”。(“元祖”是指一组项目构成的整体,双重/三重/四重/五重/等的通用形式)。
解决跨域问题:
1、JSONP
2、WebSocket:它是一种通信协议,使用ws://(非加密)和wss://(加密)作为协议前缀,该协议不实行同源策略,只有服务器支持,就可以通过它进行跨源通信。
3、CORS:这个是现在用到比较广的一种 方式,全称 是“跨域资源共享”。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能 同源使用的限制。