重定向期间的自定义 HTTP 标头
在 PHP 中重定向到另一个页面时,可能需要包含自定义 HTTP 标头作为重定向过程。标准标头(“Location:http://...”)指令不提供设置自定义标头的方法。
解决问题
尽管有声明相反,在 PHP 或任何其他语言中不可能设置自定义 HTTP 标头和重定向。其原因源于 HTTP 重定向的本质。当发生重定向时,客户端(浏览器)根据服务器提供的“Location”标头执行重定向。自定义 HTTP 标头是重定向请求响应的一部分,在浏览器发起重定向后发送。
替代方法
自从设置自定义 HTTP 标头后在重定向期间不可行,需要替代方法。一种选择是使用 JavaScript 和 XMLHttpRequest 对象向具有所需自定义标头的目标页面发出异步请求。这需要在目标服务器上实现 CORS 以允许此类请求。
另一种选择是利用服务器端代码直接与目标页面交互,而无需重定向。此方法涉及向目标页面发出 HTTP 请求、设置自定义 HTTP 标头以及检索响应数据。然后可以将响应以自定义格式返回给客户端。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3