概念
广义上的跨域是指一个域下的文档或者脚本请求另一个域下的资源。
狭义上的跨域是指由于浏览器的同源策略限制,从一个域名请求另一个域名的资源。
我们通常所说的跨域是指狭义上的跨域。
同源:域名、端口和协议三者一致即为同源。
以上三者只要有一个不同即为跨域。
解决方案
- jsonp
- document.domain + iframe
- location.hash + iframe
- window.name + iframe
- postMessage
- CORS
- nginx代理
- nodejs中间件代理
- websocket