这些额外的 HTTP 头是从哪里来的?
问题:这些额外的 HTTP 头是从哪里来的? 但是,当我只是从 php 文件中回显某些内容时,我不会故意发送任何标头 - 当我查看 firebug 响应时,无论如何都会存在一些默认标头: 响应标头: HTTP/1.1 200 正常 服务器:nginx 日期:Word,2011 年 6 月 23 日 19:33:51 GMT 内容类型:text/html 传输编码:分块 连接:保持活动 变化:接受编
问题:这些额外的 HTTP 头是从哪里来的?
但是,当我只是从 php 文件中回显某些内容时,我不会故意发送任何标头 - 当我查看 firebug 响应时,无论如何都会存在一些默认标头:
响应标头:
HTTP/1.1 200 正常
服务器:nginx
日期:Word,2011 年 6 月 23 日 19:33:51 GMT
内容类型:text/html
传输编码:分块
连接:保持活动
变化:接受编码
X-Powered-By: PHP/5.3.6-6~dotdeb.1
到期:1981 年 11 月 19 日星期四 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-checku003d0, pre-checku003d0
编译指示:无缓存
内容编码:gzip
我很好奇 - 这些默认响应标头是由服务器(nginx)还是由 PHP 设置的?
解答
我相信它是两者的结合......你可以说“X-Powered-By: PHP/5.3.6-6~dotdeb.1”来自 PHP,“Server: nginx”来自 NGINX。
您可以按如下方式更改 PHP 中的标头:
<?php
header("HTTP/1.0 404 Not Found");
?>
gzip 标头绝对来自 NGINX,因为它将输出 (html) 压缩到浏览器。 PHP 可以通过调用上述函数来“添加”到标题中。然后服务器将它与 PHP 标头结合起来并为请求提供服务。
PHP 标头是否优先于服务器标头取决于您的服务器。
希望这可以帮助。
更多推荐
所有评论(0)