什么是同源策略


所謂同源策略,指的是瀏覽器對不同源的腳本或者文本的訪問方式進行的限制。比如源a的js不能讀取或設置引入的源b的元素屬性。那么先定義下什么是同源,所謂同源,就是指兩個頁面具有相同的協議,主機(也常說域名),端口,三個要素缺一不可。

看下面的比較就一目了然了:

URL1 URL2 說明 是否允許通信
http://www.foo.com/js/a.js http://www.foo.com/js/b.js 協議、域名、端口都相同 允許
http://www.foo.com/js/a.js http://www.foo.com:8888/js/b.js 協議、域名相同、端口不同 不允許
https://www.foo.com/js/a.js http://www.foo.com/js/b.js 域名相同、端口相同、協議不同 不允許
http://www.foo.com/js/a.js http://www.bar.com/js/b.js 協議、端口相同、域名不同 不允許
http://www.foo.com/js/a.js http://foo.com/js/b.js 協議、端口相同、主域名相同、子域名不同 不允許

 

 

 

 

 

 

 

 

同源策略限制的不同源之間的交互主要針對的是js中的XMLHttpRequest等請求,寫代碼的時候也常常會引用其他域名的js文件,樣式文件,圖片文件什么的,這些則不會收到限制


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM