CORS(跨來源資源共用) 是 Web 瀏覽器實作的安全功能,用於控制如何從與資源來源不同的網域(來源)要求資源。它在現代 Web 開發中至關重要,尤其是在使用 API 時,因為它可以防止未經授權的資源存取並確保資料的安全交換。
起源由以下組合定義:
範例:
同源策略是一種安全措施,用來限制網頁上的資源與其他來源的資源互動的方式。
雖然 SOP 確保了安全性,但它限制了合法的跨域請求,這就是 CORS 的用武之地。
CORS 是一種機制,允許伺服器透過在回應中包含特定的 HTTP 標頭來指定誰可以存取其資源。這些標頭指示瀏覽器是否應允許用戶端存取所要求的資源。
當瀏覽器發出跨網域請求時,它會檢查伺服器的回應標頭以確定是否允許該請求。
關鍵步驟:
飛行前請求(可選):
對於某些類型的請求,瀏覽器會傳送初始 OPTIONS 請求來檢查實際請求是否被允許。
伺服器回應:
伺服器在回應中包含適當的 CORS 標頭。
瀏覽器決策:
如果標頭符合瀏覽器的期望,則資源被共用;否則,瀏覽器會阻止該請求。
Access-Control-Allow-Origin: 指定允許哪些來源存取資源。
範例:Access-Control-Allow-Origin:https://example.com
Access-Control-Allow-Methods: 指定允許的 HTTP 方法。
範例:存取控制允許方法:GET、POST、PUT
Access-Control-Allow-Headers: 指定可以在請求中傳送的自訂標頭。
範例:存取控制允許標頭:內容類型、授權
Access-Control-Allow-Credentials: 指示是否可以傳送憑證(cookie、HTTP 驗證)。
範例:存取控制允許憑證:true
簡單請求:
預檢請求:
憑證請求:
錯誤:要求的資源上不存在「Access-Control-Allow-Origin」標頭。
錯誤:憑證請求要求「Access-Control-Allow-Credentials」為 true。
預檢請求失敗:
CORS 是 Web 應用程式中安全且功能性的跨域資源共享的重要功能。透過了解並正確配置伺服器上的 CORS 標頭,您可以確保網域之間的通訊順暢且安全,同時遵守 Web 安全標準。
嗨,我是 Abhay Singh Kathayat!
我是一名全端開發人員,擁有前端和後端技術的專業知識。我使用各種程式語言和框架來建立高效、可擴展且用戶友好的應用程式。
請隨時透過我的商務電子郵件與我聯繫:kaashshorts28@gmail.com。
以上是了解 CORS:JavaScript 中的安全性跨源資源共享的詳細內容。更多資訊請關注PHP中文網其他相關文章!