跨域系列之(一)

最近或多或少经常看到跨域操作,自己也没有有个时间去专门研究透彻这一块,所以打算借此机会,好好研究一番,并为此写几篇博文,这也算巩固一下这方面的基础知识。

不过讲跨域之前就有必要先了解是什么导致了跨域才能清求,答案就是 浏览器的同源策略

那么何为 "" 呢?
首先看看RFC6454里有定义URI源的算法定义。

源包括协议、域名、端口号
标准浏览器下查看源的方式:location.origin
ie浏览器下不支持此种方式,但我们可以使用“ location.protocol查看协议、location.hostname查看域名、location.port查看端口号 ” 来查看源。

原文给出的例子:

例子

总结起来只有三个值一样,才属于同源,像图片中上面三个网址属于同源,下面的则不是。再给个具体的例子巩固下:

解决了什么是 下来就是什么是同源策略
一样来看看这篇文章的定义.

In computing, the same-origin policy is an important concept in the web application security model. Under the policy, a web browser permits scripts contained in a first web page to access data in a second web page, but only if both web pages have the same origin. An origin is defined as a combination of URI scheme, host name, and port number. This policy prevents a malicious script on one page from obtaining access to sensitive data on another web page through that page's Document Object Model.

同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所以lmc.com下的js脚本采用ajax读取szu.com里面的文件数据是会报错的。

• 不受同源策略限制的:
1、页面中的链接,重定向以及表单提交是不会受到同源策略限制的。
2、跨域资源的引入是可以的。但是js不能读写加载的内容。如嵌入到页面中的