php - 从 php 发送 HTTP 状态代码的区别

标签 php web-services http

与在php中设置响应状态有什么区别

header("HTTP/1.0 404 未找到");

header("状态:404 未找到");

从客户端的角度(也称为浏览器或 RESTful WS 的客户端实现)来看有什么区别。我知道第二个必须与 CGI 做一些事情。

最佳答案

HTTP/1.0 404 Not Found 是 HTTP 响应代码,它允许客户端确定请求是否成功。

Status: 404 Not Found 只是设置一个名为 Status 的额外 header 字段,其值为 404 Not Found。它没有内在含义,就像设置 header('Foo: Bar') 一样。它可能对某人有意义,但它是 not officially specified what it should mean HTTP 响应代码将是正常的 200 OK。

通过 FastCGI 运行 PHP 时似乎有一个特殊情况。显然,使用此方法调用 PHP 时无法直接设置 HTTP/ 状态。相反,您必须设置这个非官方 header ,它将在发送回客户端之前转换为真正的 HTTP/ 代码(显然这是 PHP 在通过 CGI 调用时如何与 Web 服务器通信的限制)。在所有其他情况下,它只会按原样发送(没有任何意义),真正的 HTTP 响应代码将为 200 OK。
这就是我可以从 description in the manual 收集到的信息至少,我从来没有用过这个。另外,如果你通过 CGI 运行 PHP,那你就疯了,所以希望在当今这个时代没有人需要它。 ;o)

关于php - 从 php 发送 HTTP 状态代码的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4029739/

相关文章:

php - 修改关联数组中深层键的值

java - 我可以在 Glassfish(或任何应用程序服务器)上拦截对我的 WSDL 的调用吗?

.net - Microsoft mocks 和 mocking out SqlConnection 用于集成测试

java - wsimport 从 wsdl 生成空类 (pojo)

javascript - 如何在nodejsexpress中处理response和next

php - fatal error : Call to undefined function redirect() in dev/add_comment. php 第 19 行

php - 通过ajax发送数组到javascript

php - 如何通过电子邮件向所有用户发送用户特定信息。

http - 以编程方式发出请求时要使用的合理 HTTP POST 超时值?

javascript - 使用 node.js 请求跟随重定向