Cors跨域是什麼意思

CORS(Cross-Origin Resource Sharing,跨源資源共享)是Web應用程式的一種機制,它允許Web應用程式從不同的域、埠或 schema 獲取資源。這個機制增加了安全性,因為它要求源網站授權另一個源網站可以訪問其資源。

在沒有CORS的情況下,瀏覽器有一個同源政策,這意味著一個網頁只能訪問相同域名、埠和 schema 的資源。這可以防止惡意的網頁訪問另一個網頁的敏感數據。但是,這也限制了許多有用的應用程式,比如說一個網頁應用程式需要訪問一個第三方API。

CORS 通過向對方網站發出一個預檢請求(preflight request)來解決這個問題,這個請求會詢問對方網站是否允許訪問其資源。如果對方網站同意,瀏覽器就可以發出另一個請求來獲取資源。預檢請求使用的是HTTP頭信息,比如說Origin、Access-Control-Request-Method和Access-Control-Request-Headers。

CORS 支持以下幾種情況:

  1. 簡單請求(Simple Requests):這些是GET、HEAD或POST請求,它們不包含自定義頭信息,也不會使用擴展的HTTP方法。
  2. 預檢請求(Preflight Requests):這些是對簡單請求以外的方法或包含自定義頭信息的請求。預檢請求會在使用實際請求之前發出。
  3. 跨源響應(Cross-Origin Responses):這些是從另一個源返回的響應,它們可能會包含CORS頭信息,比如說Access-Control-Allow-Origin。

總之,CORS 是一個讓Web應用程式能夠安全地訪問不同源的資源的機制。