重定向期间的自定义 HTTP 标头
在 PHP 中重定向到另一个页面时,可能需要包含自定义 HTTP 标头作为重定向过程。标准标头(“Location:http://...”)指令不提供设置自定义标头的方法。
解决问题
尽管有声明相反,在 PHP 或任何其他语言中不可能设置自定义 HTTP 标头和重定向。其原因源于 HTTP 重定向的本质。当发生重定向时,客户端(浏览器)根据服务器提供的“Location”标头执行重定向。自定义 HTTP 标头是重定向请求响应的一部分,在浏览器发起重定向后发送。
替代方法
自从设置自定义 HTTP 标头后在重定向期间不可行,需要替代方法。一种选择是使用 JavaScript 和 XMLHttpRequest 对象向具有所需自定义标头的目标页面发出异步请求。这需要在目标服务器上实现 CORS 以允许此类请求。
另一种选择是利用服务器端代码直接与目标页面交互,而无需重定向。此方法涉及向目标页面发出 HTTP 请求、设置自定义 HTTP 标头以及检索响应数据。然后可以将响应以自定义格式返回给客户端。
以上是PHP 重定向期间可以包含自定义 HTTP 标头吗?的详细内容。更多信息请关注PHP中文网其他相关文章!