首页 > 精选文章 > Linux > 正文

Apache如何启用ETag,提高访问速度

ETag全称EntityTags,HTTP协议规格说明中定义“ETag”为“被请求变量的实体值”。我们也可以把ETag理解为是一个客户端与服务器关联的记号。这个记号告诉客户端,当前网页在上次请求之后是否有发生变化,当发生变化时,ETag的值重新计算,并返回200状态码。如果没有变化,返回304状态码。从而不会重新加载整个页面信息。

以下会告诉你,Apache如何开启ETag。

Apache根据配置文件中的配置来设置Etag值,默认的Apache的FileEtag设置为:
       FileEtagINode Mtime Size
       也就是根据这三个属性来生成Etag值,他们之间通过一些算法来实现,并输出成hex的格式,相邻属性之间用-分隔,比如:"2e681a-6-5d044840",这里面的三个段,分别代表了INode,MTime,Size根据算法算出的值的Hex格式,可以改变Apache的FileEtag设置,比如设置成FileEtagSize,那么得到的Etag可能为:"6",设置了几个段,Etag值就有几个段。

 详细配置:

步骤1
       
在要启用ETag的目录下增加.htaccess文件并在其中增加一行,如图:FileETagMTime Size

以覆盖默认的Innode MTime Size的ETag,因为默认的ETag使用到的Innode会导致相同的文件在分布式服务器上产生的ETag不同。

步骤2
       如果.htacces文件已经存在,请确保要启用ETag的目录/.htacces文件中没有FileETagNone。如果存在FileETag None,请删去该行。

检查没有用mod_headers将ETag除去,即httpd.conf文件中没有出现下面的语句,
       LoadModuleheaders_module modules/mod_headers.so 
       Headerunset ETag
如果出现如图情况,请删除Headerunset ETag这一行。

步骤3      重新启动httpd,就启用ETag了。

  • 上一篇:Tengine更新记录(淘宝基于Nginx开发的Web服务器)
  • 下一篇:IIS7如何启用ETag
  • 了解这些字:如的意思 何的意思 启的意思 用的意思 提的意思 高的意思 访的意思 问的意思