【发布时间】:2011-10-18 12:38:26
【问题描述】:
我正在尝试将 PHP 脚本中的响应代码设置为 200。后来我设置了一个 Location 标头,将其设置为 302。根据文档:
它不仅将此标头发送回浏览器,还 除非 201 或 已经设置了 3xx 状态码。
有没有办法将标头设置为 200 并且不让 location 标头覆盖它?我尝试在 location 标头之后设置响应代码标头,但这不起作用(可能是因为 location 标头已与包含“Found”HTML 位的正文一起发送)。
我可以使用 201 作为响应代码,因为访问脚本的应用程序只检查任何 2xx 代码。但是,根据 HTTP 1.1 规范:
源服务器必须在返回 201 状态码之前创建资源。
但我没有创造任何东西。这是一个问题,还是我可以摆脱它?
【问题讨论】:
-
如果要重定向,为什么要 200?
-
这有点令人困惑,但是从两个地方调用相同的脚本,一个需要 200 响应代码,一个需要位置......虽然我可能有一个这些地方发送一些其他参数来确定是否应该发送 Location: 标头。哎呀,回答了我自己的问题。
标签: php http-headers http-status-codes