什么是跨域
协议,域名,端口不同,就是跨域。
跨域是指浏览器不能执行其他网站的脚本,这都是同源限制策略,属于浏览器的安全策略,具体限制了以下几种行为:
- cookie,localstorage和indexdb无法读取
- dom和js对象无法获取
- ajax请求不能发送
跨域的解决办法:
-
通过jsonp
动态创建script,只支持get请求,一般不用这个 -
documeng.domen+iframe跨域
仅限主域相同,子域不同的场景。两个页面都通过js强制设置document.doman设置为基础主域,就实现了同域 -
location.hash+iframe
-
window.name+ifame跨域
-
postMessage跨域
-
跨域资源共享(CORS)
-
nginx代理跨域
-
nodejs中间件代理跨域
-
websocket协议跨域