为什么我能找到的几乎每个例子(包括这个问题 https://stackoverflow.com/questions/437256/sending-a-404-error-in-php大约一年前)说 404 标头应该是HTTP/1.0 404 Not Found
我们什么时候真正使用 HTTP 1.1 十多年了?有什么理由不发送HTTP/1.1 404 Not Found
反而?
(并不是说这那么重要......我主要只是好奇。)
在 PHP 中你可能应该使用:
header( $_SERVER['SERVER_PROTOCOL']." 404 Not Found", true );
甚至更好
header( $_ENV['SERVER_PROTOCOL']." 404 Not Found", true );
(如果支持的话),从而将使用哪种协议留给网络服务器。
实际上,如果您将状态代码作为第三个参数传递,则可以在第一个参数中传递任何您想要的内容,只要它不为空,PHP 将完成其余的工作。看http://php.net/header http://php.net/header
header("foobar", true, 404 );
另外:你不能request来自客户端的某个协议版本,因为事务是基于跳到跳的,而不是端到端的。服务器和您的浏览器很可能使用 HTTP/1.1,但如果中间的代理仅使用 HTTP/1.0,这就是您将从客户端看到的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)