浏览器同源策略与跨域出现原因

什么是同源策略

  同源策略(Same origin policy)是一种约定,它是浏览器最核心的也是最基本的安全功能,web也是构建在同源策略基础上,浏览器只是针对同源策略的一种实现。

 它是由Netscape提出的一个著名的安全策略,目前支持JavaScript的浏览器都会使用找个策略。

什么是同源?

  同源:域名/端口/协议相同

  同源分为两种情况:1.dom的同源策略:禁止对不同页面的dom进行操作

            2.XMLHttpRequest同源:禁止使用XHR对象向不同源的ip发起http请求

为什么会出现跨域

  当浏览器的tab打开两个不同的网站页面,浏览器的1tab执行脚本时候会检查找个脚本属于哪个页面,检查域名/端口/协议是否一致,如果同源则执行,如果非一致,则会在控制台抛出异常。

这也得益于浏览器同源策略对用户安全信息的保护。

如何解决跨域问题

  1.由后端进行跨域配置(推荐)

  2.使用 反向代理

  3.websocket(天然跨域)

  

    

猜你喜欢

转载自www.cnblogs.com/yang656/p/10364649.html