1. 程式人生 > >js 同源政策及跨域理解

js 同源政策及跨域理解

同源政策:

它是由Netscape提出的一個著名的安全策略。現在所有支援JavaScript 的瀏覽器都會使用這個策略。所謂同源是指,域名,協議,埠相同

當一個瀏覽器的兩個tab頁中分別開啟來 百度和谷歌的頁面當瀏覽器的百度tab頁執行一個指令碼的時候會檢查這個指令碼是屬於哪個頁面的,即檢查是否同源,只有和百度同源的指令碼才會被執行。

如果非同源,那麼在請求資料時,瀏覽器會在控制檯中報一個異常,提示拒絕訪問。

非同源受到的限制:

  • cookie不能讀取 (如我在自己的站點無法讀取csdn使用者的cookie)
  • dom無法獲得
  • ajax請求不能傳送

例如:

  一個域的頁面去請求另一個域的資源;

  A域的頁面去請求B域的資源。

目錄

動態新增一個<script>標籤,而script標籤的src屬性是沒有跨域的限制的。

這樣一來,這種跨域方式就與ajax XmlHttpRequest協議無關了。