什么是跨域?

简介: 什么是跨域?

概念:跨域:指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器览器对iavascript施加的安全限制。例如:a页面想获取b页面资源,如果a、b页面的议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都是限制了跨域访问,也就是不允许跨域请求资源。注意: 跨域限制访问,其实是浏览器的限制。理解这一点很重要! !


如何解决跨域问题呢


【1】设置document.domain解决无法读取非同源网页的 Cookie问题


因为浏览器是通过document.domain属性来检查两个页面是否同源,因此只要通过设置相同的document.domain,两个页面就可以共享

Cookie(此方案仅限主域相同,子域不同的跨域应用场景)


【2】跨文档通信 API:window.postMessage()


调用postMessage方法实现父窗口http://test1.com向子窗口http://test2.com发消息(子窗口同样可以通过该方法发送消息给父窗口)



它可用于解决以下方面的问题:


  • 页面和其打开的新窗口的数据传递


  • 多窗口之间消息传递


  • 页面与嵌套的iframe消息传递


  • 上面三个场景的跨域数据传递
目录
相关文章
|
7月前
“跨域”问题理解
“跨域”问题理解
54 0
|
29天前
|
安全
跨域
跨域问题在Web开发中较为常见,开发人员需要根据具体的项目需求和场景选择合适的跨域解决方案。在实际应用中,CORS和代理服务器是比较常用的方法,而JSONP和WebSockets则适用于一些特定的业务场景。
94 49
|
1月前
|
JSON 缓存 前端开发
什么是跨域
什么是跨域
20 1
|
1月前
|
Web App开发 JavaScript 开发者
跨域处理
跨域处理
18 0
|
2月前
|
安全 前端开发 JavaScript
什么是跨域?为什么会产生跨域?怎么解决跨域?
什么是跨域?为什么会产生跨域?怎么解决跨域?
337 0
|
7月前
|
Java
springbootv 2.4.0跨域
springbootv 2.4.0跨域
|
7月前
|
安全
什么是跨域?
什么是跨域?
|
7月前
|
安全
什么是跨域,为什么会跨域?
什么是跨域,为什么会跨域?
440 1
|
7月前
|
Web App开发 前端开发 JavaScript
你能讲一下跨域吗
你能讲一下跨域吗
|
7月前
|
JSON 前端开发 安全
你了解跨域吗
你了解跨域吗
63 0