Ale*_*exV 4 php header http-headers
很简单的问题:这两个PHP(版本5+)标题调用中哪一个是"最好的"?
header('Not Modified', true, 304);
header('HTTP/1.1 304 Not Modified');
Run Code Online (Sandbox Code Playgroud)
我很确定第一个是多价的,但只是好奇如果在HTTP 1.0下PHP将"修复"第二个...
谢谢!
编辑:其中一个标题在我的Web主机上崩溃了PHP.后续问题: PHP header()调用"崩溃"脚本,HTTP 500错误
我会用这个:
header($_SERVER['SERVER_PROTOCOL'].' 304 Not Modified', true, 304);
Run Code Online (Sandbox Code Playgroud)
$_SERVER['SERVER_PROTOCOL']包含请求中使用的协议,如HTTP/1.0或HTTP/1.1.
编辑 我必须承认我的建议毫无意义.经过几次测试后,我注意到如果第一个参数是一个有效的HTTP状态行,PHP将使用该状态行,而不管第三个参数是否给出了第二个状态代码.并且第二个参数(它替换的文档名称)也没用,因为不能有多个状态行.
所以这个调用中的第二个和第三个参数只是多余的:
header($_SERVER['SERVER_PROTOCOL'].' 304 Not Modified', true, 304);
Run Code Online (Sandbox Code Playgroud)
请改用:
header($_SERVER['SERVER_PROTOCOL'].' 304 Not Modified');
Run Code Online (Sandbox Code Playgroud)