什么是跨域?
跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。
广义的跨域:
1.)资源跳转:A链接、重定向、表单提交.)资源嵌入:link、script、img、frame等dom标签,还有样式中background:url()、
font-face()等文件外链.)脚本请求:js发起的ajax请求、dom和js对象的跨域操作等
其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。
什么是同源策略?同源策略/SOP(Sameoriginpolicy)是一种约定,由Netscape公司年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指协议+域名+端口三者相同,即便两个不同的域名指向同一个ip地址,也非同源。
同源策略限制以下几种行为:
1.)Cookie、LocalStorage和IndexDB无法读取.)DOM和Js对象无法获得.)AJAX请求不能发送
常见跨域场景
URL说明是否允许通信