从php发送HTTP状态代码的区别
在php中设置响应状态有什么区别 标题(“未找到HTTP/1.0 404”) 及 标题(“状态:404未找到”)从php发送HTTP状态代码的区别,php,web-services,http,Php,Web Services,Http,在php中设置响应状态有什么区别 标题(“未找到HTTP/1.0 404”) 及 标题(“状态:404未找到”) 从客户机的角度来看(即浏览器或RESTful WS的客户机实现)有什么不同。我知道第二个与CGI有关。HTTP/1.0 404未找到是HTTP响应代码,它允许客户端确定请求是否成功 Status:404notfound只需设置一个名为Status的额外标题字段,其值为404notfound。它没有内在的意义,就像设置标题('Foo:Bar')。它可能对某人意味着什么,但它是。HTTP
从客户机的角度来看(即浏览器或RESTful WS的客户机实现)有什么不同。我知道第二个与CGI有关。
HTTP/1.0 404未找到
是HTTP响应代码,它允许客户端确定请求是否成功
Status:404notfound
只需设置一个名为Status
的额外标题字段,其值为404notfound
。它没有内在的意义,就像设置标题('Foo:Bar')
。它可能对某人意味着什么,但它是。HTTP响应代码将是正常的200 OK
在通过FastCGI运行PHP时,似乎有一种特殊情况。显然,使用此方法调用PHP时,无法直接设置HTTP/
状态。相反,您必须设置这个非官方的头,它将在发送回客户机之前转换为真正的HTTP/
代码(显然是对通过CGI调用PHP时如何与web服务器对话的限制)。在所有其他情况下,它只是按原样发送(没有意义),真正的HTTP响应代码是200 OK。这是我能从中得到的,至少,我从来没有用过这个。而且,如果你通过CGI运行PHP,你是疯了,所以希望在这个时代没有人需要它;o) 谢谢。我觉得很奇怪,HTTP响应代码是这样从php发送的。你知道我写的“HTTP/1.0 404找不到狗”是将被识别为404响应还是分析整个字符串吗?@user PHP只关注字符串的开头。如果它以
HTTP/
开头,则将整个内容作为HTTP响应代码。是的,您可以发送HTTP/1.0 404“未找到小狗”
。大多数客户甚至可能会接受这一点,因为他们可能只看数字,而不看文本。