前端跨域
1. 同源概念
为了保证用户信息的安全,防止恶意的网站窃取数据产生了同源限制,同源是指三个相同,协议相同+域名相同+端口相同,尤其注意http://www.example.com
和http://example.com
为不同域名,还有域名和域名对应相同ip也是不同域的。
2. 同源限制范围
无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB。
无法接触非同源网页的 DOM。
无法向非同源地址发送 AJAX 请求(可以发送,但浏览器会拒绝接受响应)
3. 跨域方法
项目地址:「前端跨域」
通过jsonp跨域——只能实现get一种请求
跨域资源共享(CORS)
postMessage跨域——网页之间通信
nginx代理跨域
nodejs中间件代理跨域
WebSocket协议跨域
document.domain + iframe跨域——主域相同,子域不同场景
location.hash + iframe
window.name + iframe跨域
注意 CORS 的两种请求:简单请求和非简单请求(预检请求),具体参考《全面讲解 CORS》。
最后更新于