同源、同源策略、跨域、JsonP和cors
一、同源
如果两个页面的协议、域名和端口都相同,则两个页面具有相同的源。
二、同源策略
同源策略,英文全称Same origin policy,是浏览器提供的一个安全功能。是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
通俗的理解:浏览器规定,A网站的JavaScript,不允许和非同源的B网站之间进行资源交互。例如:
(一)无法读取非同源网页的Cookie、localStorage和indexedDB。
(二)无法解除非同源网页的DOM
(三)无法向非同源地址发送Ajax请求
三、跨域
不满足同源的就称作跨域。因为有同源策略的存在所以需要跨域。
四、JSONP,实现跨域主要方案之一
出现较早,兼容性好,是一种临时解决方案,只支持GET请求,不支持POST请求。
五、CORS,实现跨域主要方案之二
出现较晚,是W3C标准,是跨域Ajax请求的根本解决方案,支持GET和POST请求,但是不兼容低版本的浏览器。