Ajax解說系列(5) CORS

Cross-Origin Resource Sharing

當我們使用 XMLHttpRequest 或 fecth等方式向伺服器發送請求時,都必須遵守都遵守同源政策(same-origin policy),只能請求與應用程式相同網域的 HTTP 資源。

同源定義

所謂同源是指兩份網頁具備相同協定、埠號 (如果有指定) 以及主機位置,下表提供了一些例子展示那些來源和 http://store.company.com/dir/page.html 屬於同源:

1
2
3
4
5
6
URL	Outcome	Reason
http://store.company.com/dir2/other.html 同源
http://store.company.com/dir/inner/another.html 同源
https://store.company.com/secure.html 不同源 協定不同
http://store.company.com:81/dir/etc.html 不同源 埠號不同
http://news.company.com/dir/other.html 不同源 主機位置不同

跨來源引入

在某些情況下跨來源是被允許的,不受同源策略限制

  1. 跨來源嵌入通常被允許 (embed)