什么是跨域?
跨域是指浏览器不能执行其他网站的脚本,是由浏览器的同源策略造成的,是浏览器对javascript实施的安全限制。
什么是同源策略?
是一种约定,是浏览器最核心也最基本的安全功能,所有支持JavaScript的浏览器都会使用这种策略。
满足同源的三个条件?
域名、协议、端口相同
为什么要同源限制?
非同源下的cookie可能被随意获取
DOM随意操作
AJAX任意请求
什么是跨域?
当一个请求url的域名、协议、端口不同即为跨域
跨域问题的解决方案?
1.通过JSONP跨域
2.document.domain+iframe跨域
3.window.name+iframe跨域
4.postMessage跨域
5.nginx跨域
6.nodejs中间价跨域
7.location.hash+iframe跨域
8.跨域资源共享(CORS)
9.websocket协议跨域