kei*_*ant 20 header http http-status-code-404
为什么几乎我能找到的每个例子(包括大约一年前的这个问题)都说404标题应该是HTTP/1.0 404 Not Found我们真正使用HTTP 1.1超过十年的时候?有没有理由不发送HTTP/1.1 404 Not Found?
(这并不重要......我大多只是好奇.)
Dan*_*Man 28
在PHP中你应该使用:
header( $_SERVER['SERVER_PROTOCOL']." 404 Not Found", true );
Run Code Online (Sandbox Code Playgroud)
甚至更好
header( $_ENV['SERVER_PROTOCOL']." 404 Not Found", true );
Run Code Online (Sandbox Code Playgroud)
(如果支持),从而将其留给Web服务器使用哪个协议.
实际上,如果你将状态代码作为第三个参数传递,你可以在第一个参数中传递你想要的任何东西,只要它不是空的,PHP将完成其余的工作.见http://php.net/header
header("foobar", true, 404 );
Run Code Online (Sandbox Code Playgroud)
另外:您不能从客户端请求某个协议版本,因为事务是基于逐跳的,而不是端到端的.服务器和浏览器可能很好地使用HTTP/1.1,但如果中间的代理仅使用HTTP/1.0,那么您将从客户端看到这一点.
HTTP版本的使用可以基于以下因素:
现代浏览器可以同时支持1.0和1.1,客户端和服务器都可以满足最高版本的支持.可以找到2协议之间的主要区别:http://www8.org/w8-papers/5c-protocols/key/key.html
然而,404 Not Found的使用没有关键差异.但是要对整个网站保持一致.即如果您使用HTTP/1.1,则在整个网站中使用它.
| 归档时间: |
|
| 查看次数: |
46597 次 |
| 最近记录: |