• 注册
  • 关于作者
    达人认证:程序员
    关注 1 粉丝 1 喜欢 0 内容 106
    广东省·广州市
    聊天 送礼
    • 查看作者
    • 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值就有几个段。

       详细配置:

      Linux下使用host、dig、nslookup查询DNS

      Linux

      步骤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了。

      Linux下使用host、dig、nslookup查询DNS

      Linux

    • 0
    • 0
    • 0
    • 72
    • 单栏布局 侧栏位置: