Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php发送HTTP状态代码的区别_Php_Web Services_Http - Fatal编程技术网

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

从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

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

标题(“未找到HTTP/1.0 404”)

标题(“状态:404未找到”)


从客户机的角度来看(即浏览器或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“未找到小狗”
。大多数客户甚至可能会接受这一点,因为他们可能只看数字,而不看文本。