在php中设置responce状态有什么区别
header(“未找到http/1.0 404”);

标题(“状态:404未找到”);
从客户机的角度来看(又称浏览器或restful ws的客户机实现)有什么不同?我知道第二个和CGI有关。

最佳答案

HTTP/1.0 404 Not Found是http响应代码,它允许客户端确定请求是否成功。
Status: 404 Not Found只需设置一个名为Status的额外头字段,值为404 Not Found。它没有内在的意义,就像设置header('Foo: Bar')。它可能对某人有意义,但它是not officially specified what it should mean。http响应代码将是正常的200ok。
通过fastcgi运行php时似乎有一个特殊情况。显然,使用此方法调用php时不能直接设置HTTP/状态。相反,您必须设置这个非官方的头,在将其发送回客户端之前,它将被转换为一个真正的HTTP/代码(显然,这限制了当通过cgi调用时php如何与web服务器通信)。在所有其他情况下,它只是按原样发送(没有意义),真正的http响应代码将是200ok。
这就是我能从description in the manual中得到的信息,至少,我从来不用这个。另外,如果你通过cgi运行php,你会疯掉的,所以希望现在没有人需要这个。;o)

10-08 09:37
查看更多