一、为什么会出现跨域问题?
1、什么是跨域
跨域(Cross-Origin Resource Sharing,简称 CORS)
主要是浏览器的同源策略导致的。
同源策略要求浏览器发出的 AJAX 请求只能发给与请求页面域名相同的 API 服务器,如果发给其他域名就会产生跨域问题。
2、什么是同源策略?
所谓同源(即指在同一个域)就是两个地址具有相同的协议(protocol)、主机(host)和端口号(port)
同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。
同源策略限制以下行为
1. Cookie、LocalStorage 和 IndexDB 无法读取
2. DOM 和 Js对象无法获得
3. AJAX 请求不能发送
注意:跨域限制是浏览器的机制,如果直接在服务端请求,是不会触发跨域限制的。
3、以下情况都属于跨域:
跨域原因说明 | 示例 |
---|---|
域名不同 |