您当前的位置:主页 > 教程合集 > 网站建设网站首页网站建设

Apache配置Etag详解

发布时间:2015-11-12编辑:余斗阅读:(0)字号:
    Etag主要为了解决Last-Modified无法解决的一些问题.他能比Last_Modified更加精确的知道文件是否被修改过.如果有个 文件修改非常频繁,比如在秒以下的时间内进行修改,比如1秒内修改了10次,If-Modified-Since能检查只能秒级的修改,所以这种修改无法判断。原因是UNIX记录MTIME只能精确到秒.所以我们选择生成Etag,因为Etag可以综合Inode,MTime和Size,可以避免这个问题。 在Apache中设置Etag的支持比较简单,只需要在apache的 .htaccess文件配置中加入下面的内容就可以了:

    FileEtagINode Mtime Size
     
    重新启动httpd,就启用ETag了。 注解: Etag根据这三个属性来生成值,他们之间通过一些算法来实现,并输出成hex的格式,相邻属性之间用-分隔,比如:"2e681a-6-5d044840",这里面的三个段,分别代表了INode,MTime,Size根据算法算出的值的Hex格式,可以改变Apache的FileEtag设置,比如设置成FileEtagSize,那么得到的Etag可能为:"6",设置了几个段,Etag值就有几个段。FileETag指令配置了当文档是基于一个文件时用以创建ETag(实体标签)应答头的文件的属性(ETag的值用于进行缓冲管理以节约网 络带宽)。ETag的值由文件的inode(索引节点)、大小、最后修改时间决定。FileETag指令可以让您选择(如果您想进行选择)这其中哪些要素将被使用。主要关键字如下: INode:文件的索引节点(inode)数 MTime:文件的最后修改日期及时间 Size:文件的字节数 All:所有存在的域,等价于:FileETag INode MTime Size None:如果一个文档是基于文件的,则不在应答中包含任何ETag头 如果.htacces文件已经存在,请确保要启用ETag的目录/.htacces文件中没有FileETagNone。如果存在FileETag None,请删去该行。 检查没有用mod_headers将ETag除去,即httpd.conf文件中没有出现下面的语句:

      LoadModuleheaders_module modules/mod_headers.so
      Headerunset ETag
     
    Apache配置Etag详解 如果出现如图情况,请删除Headerunset ETag这一行。 在大型多WEB集群时,使用ETag时有问题,所以有人建议使用WEB集群时不要使用ETag,其实很好解决,因为多服务器时,INode不一样,所以不同的服务器生成的ETag不一样,所以用户有可能重复下载(这时ETag就会不准),明白了上面的原理和设置后,解决方法也很容易,让ETag后面 二个参数,MTime和Size就好了。只要ETag的计算没有INode参于计算,就会很准了。
关键字词配置Etag
余斗余斗
  1. 转载请注明:Apache配置Etag详解
  2. 版权声明:本站原创文章,由发表在网站建设分类下,于2015-11-12最后更新
网页强制弹出QQ聊天窗口代码
IIS配置Etag详解
手机扫一扫 随身带着看
鸿运国际手机登录首页