一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

asp xmlhttp ajax实现跨域操作实例

时间:2011-03-27 编辑:简简单单 来源:一聚教程网

跨域问题存在实际上源于浏览器的同源策略(same origin policy),简单讲,同源就是要求域名,协议,端口三者都一致;而同源策略就是指页面上的脚本不能访问非同源的资源(包括http响应和cookie);上面给出了维基百科的地址,如果无法正常访问请移步这里:same origin policy

     很多人会想到一个很熟悉的东西:document.domain

    同源策略有点放松的就是:b.a.com上的页面无法通过a.com的同源验证,但是设置b.a.com页面的document.domain属性为a.com,就可以通过浏览器对a.com的同源检测;但是,document.domain只允许设置成更上级的域名,而不是其它域名,例如c.com就不行; 提到这里很多人都会想到多级域名下共享cookie的路子就是把cooki设置成上级域名;在web2.0的时代,这种本质上同域跨级解决方案远远不能满足我们跨域的需求;

浏览器会进行同源检查,这导致了跨域问题,然而这个跨域检查还有一个例外那就是html的


总结
跨域请求,顾名思义,就是一个站点中的资源去访问另外一个不同域名站点上的资源。这种情况很常见,比如说通过 style 标签加载外部样式表文件、通过 img 标签加载外部图片、通过 script 标签加载外部脚本文件、通过 webfont 加载字体文件等等。默认情况下,脚本访问文档属性等数据采用的是同源策略(same origin policy)。

那么,什么是同源策略呢?如果两个页面的协议、域名和端口是完全相同的,那么它们就是同源的。同源策略是为了防止从一个地址加载的文档或脚本访问或者设置从另外一个地址加载的文档的属性。如果两个页面的主域名相同,则还可以通过设置 document.domain 属性将它们认为是同源的

 

热门栏目