apache 2.4.9 http响应头信息不显示etag, 刷新相同页面后,状态码一直显示200(from memory cache)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache 2.4.9 http响应头信息不显示etag, 刷新相同页面后,状态码一直显示200(from memory cache)相关的知识,希望对你有一定的参考价值。

源码编译安装apache 2.4.9 后,在配置文件里设置http缓存,相关模块也已经启用,LoadModule expires_module modules/mod_expires.soLoadModule headers_module modules/mod_headers.so现有如下的问题:1.在开发者工具里面查看,首次打开页面看http的报头消息,不显示文件的Etag值,无论怎 么设置均不出现;2.网页刷新后,相同的文件一直返回 200 (from memory cache) (from disk cache), 不返回304,也就是说不向服务器进行请求,3.这样的后果是, 我若更改了服务器上面的样式内容, 如果不强制刷新的话,单靠简单的f5 刷新,样式一直从本地的缓存取,达不到新的样式效果,请问下这种情况该怎么解决下?

参考技术A 200是响应正常的意思,这个是服务器返回页面的响应头信息.里面的Transfer-Encoding: chunked
,意思是使用了提前不可知数据长度的传输方式.需要浏览器继续读取响应头接下来的部分才知道真实的数据长度.

从响应头中删除服务器信息和 PHP 信息

【中文标题】从响应头中删除服务器信息和 PHP 信息【英文标题】:Remove server info and PHP info from response header 【发布时间】:2013-02-14 08:14:27 【问题描述】:

如何防止server infophp info 显示在响应标头中

【问题讨论】:

Changing the http header info to hide server info的可能重复 【参考方案1】:

对于服务器信息,在 apache2.conf 中添加以下行

ServerTokens ProductOnly

ServerSignature Off

PHP 信息

在你的 php.ini 中

expose_php = off

【讨论】:

debian 和 ubuntu 服务器上的最新语法是:ServerSignature Off ServerTokens Prod 对于使用这些发行版的任何人。 如果您使用的是最新版本的 Ubuntu (~12+),这些指令已移至 /etc/apache2/conf.d/security。您必须编辑该文件才能使您的更改生效(AskUbuntu 上的 pgschk 说:askubuntu.com/a/184366 并由我验证)。 最近,这些在/etc/apache2/conf-available/security.conf

以上是关于apache 2.4.9 http响应头信息不显示etag, 刷新相同页面后,状态码一直显示200(from memory cache)的主要内容,如果未能解决你的问题,请参考以下文章

禁止显示或发送Apache版本号

从响应头中删除服务器信息和 PHP 信息

HTTP请求头和响应头部包括的信息有哪些?

HTTP协议HTTP响应报文和状态码

HTTP响应头和请求头信息对照表

HTTP 缓存相关的响应头信息