CORS:如何預檢HTTP 請求
處理跨域HTTP 請求時,利用諸如實現原始碼的動態腳本標記之類的技術GET 請求URL 可能並不總是可行,特別是對於同時支援GET 和POST 方法的服務。因此,一種有效的解決方法是將伺服器回應配置為包含「Access-Control-Allow-Origin」標頭,並使用 OPTIONS 請求進行預檢請求。
在預檢 OPTIONS 請求期間,瀏覽器包含兩個標頭:Access-控制請求方法和存取控制請求標頭。這些標頭指示客戶端打算在實際請求中使用哪些方法和標頭。
要成功預檢請求,伺服器需要在其預檢回應中確認這些標頭。例如,如果瀏覽器在預檢請求期間發送以下標頭:
<code class="console">Origin: http://yourdomain.com Access-Control-Request-Method: POST Access-Control-Request-Headers: X-Custom-Header</code>
伺服器的預檢回應應包含以下標頭:
<code class="console">Access-Control-Allow-Origin: http://yourdomain.com Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Headers: X-Custom-Header</code>
至關重要的是, 「存取控制」 -Allow-Headers」回應標頭必須包含與「Access-Control-Request-Headers」請求標頭中指定的相同標頭,且不應包含通配符「*」。
伺服器發送此訊息後預檢回應後,瀏覽器將繼續發出實際請求。
以上是如何預檢 HTTP 請求以處理跨網域 XMLHttpRequest 呼叫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!