瀏覽器的同源策略

瀏覽器的同源策略是爲了安全的考慮而設置的。html

  

1.什麼是同源:ajax

若是兩個 URL 的 protocol、port (en-US) (若是有指定的話)和 host **都**相同的話,則這兩個 URL 是同源。

舉例:
下表給出了與 URL http://store.company.com/dir/page.html 的源進行對比的示例,

瀏覽器的同源策略

  

2.什麼是同源策略:跨域

同源策略是瀏覽器的一個安全功能,不一樣源的客戶端腳本在沒有明確受權的狀況下,不能讀寫對方資源。

舉例:
a.com下的js腳本採用ajax讀取b.com裏面的文件數據是會報錯的,由於跨域了。

 

3.若是要跨域訪問怎麼辦?下面是一種解決辦法瀏覽器

•   CORS
CORS是一個W3C標準,全稱是"跨域資源共享"(Cross-origin resource sharing)。
它容許瀏覽器向跨源服務器,發出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制。

a.com的js腳本要訪問b.com的資源,在b.com裏面添加響應頭聲明容許a.com的訪問,代碼:
Access-Control-Allow-Origin: http://a.com
而後a.com就能夠用ajax獲取b.com裏的數據了。
注意:此方法IE8如下徹底不支持,IE8-10部分支持。詳見caniuse-CORS

 

參考:
https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy
https://www.cnblogs.com/rockmadman/p/6836834.html安全

相關文章
相關標籤/搜索