首页 > 代码库 > 浏览器的同源策略和跨域问题

浏览器的同源策略和跨域问题

要理解跨域问题,必须得知道什么是同源策略。

什么是同源策略?

何谓同源:
        URL由协议、域名、端口和路径组成。

       如果两个URL的协议、域名和端口相同,则表示他们同源。
同源策略:
        浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性。 
        从一个域上加载的脚本不允许访问另外一个域的文档属性。

    举个例子:
        比如一个恶意网站的页面通过iframe嵌入了银行的登录页面(二者不同源),如果没有同源限制,恶意网页上的javascript脚本就可以在用户登录银行的时候获取用户名和密码。

 

什么是跨域?

跨域有两方面含义:域名不同;

         域名相同,但是端口不同。

技术分享

 

只有域名相同,端口相同,才可以访问网页资源。

  跨域指的是不同域名之间相互访问。例如我的电脑上有两个服务器192.168.0.11和192.168.0.12,如果第一个服务器上的页面要访问第二个服务器

 就叫做跨域,或者http://www.baidu.com  要访问http://www.xxx.com 也是不同的域名,这种也叫跨域,所以无论是协议不同,端口不通,还是域名不同都会产生跨域。
    在java开发项目中,我们讲的跨域一般指的是js中的ajax请求跨域。
 

 

浏览器的同源策略和跨域问题