重定向期間的自訂HTTP 標頭
在PHP 中重定向到另一個頁面時,可能需要包含自訂HTTP標頭作為重定向過程。標準標頭(「Location:http://...」)指令不提供設定自訂標頭的方法。
解決問題
儘管有聲明相反,在 PHP 或任何其他語言中不可能設定自訂 HTTP 標頭和重定向。其原因源自於 HTTP 重定向的本質。當發生重定向時,用戶端(瀏覽器)會根據伺服器提供的「Location」標頭執行重定向。自訂 HTTP 標頭是重定向請求回應的一部分,在瀏覽器發起重定向後發送。
替代方法
自從設定自訂 HTTP 標頭後在重定向期間不可行,需要替代方法。一種選擇是使用 JavaScript 和 XMLHttpRequest 物件向具有所需自訂標頭的目標頁面發出非同步請求。這需要在目標伺服器上實現 CORS 以允許此類請求。
另一種選擇是利用伺服器端程式碼直接與目標頁面交互,而無需重定向。此方法涉及向目標頁面發出 HTTP 請求、設定自訂 HTTP 標頭以及檢索回應資料。然後可以將回應以自訂格式傳回給客戶端。
以上是PHP 重定向期間可以包含自訂 HTTP 標頭嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!