百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 网站模板(百分百源码网)>电脑软件>服务器> ETag运用结果对照及ETag配置图文教程
分享本文到:

ETag运用结果对照及ETag配置图文教程

发布时间:05/16 来源:未知 浏览: 关键词:

ETag使用效果对比及ETag配置教程 我们

提起向百度提交数据,大家根本都会想到sitemap,最近又推出的etag是什么东东?真的能有结果吗?

sitemap是解决网站收录至关重要的路径之一,而平常sitemap的更新都不是很及时,并且体量都相对较大,此时也耗损了响应的网站流量及带宽。而ETag可以用来标示网页是否产生了变化,要是没有变化返回304状态码,就不用再从新传输整个网页了。

在我们的sitemap配置了ETag之后,对日志一段工夫的监测发明,其sitemap相应工夫以及耗时的均匀工夫均大幅度下降,爬虫访问 sitemap文件的次数有所添加,关于收录而言,通过图表也能看出相对的增长曲线,我们的整体收录率大致晋升范畴在2% – 5%左右。所以在此,热烈倡议大家设置sitemap的ETag,简简略单的一个小行动就能看到相对显明的结果还是很不错的。

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

如下,是我司站点的sitemap文件的头信息:

ETag是什么 ETag标准 ETag响应头 httpETag

我们看到,ETag中包含了一连串的数据,这就是盘算出来的一个值,要是它产生变化,注明其页面内容一定产生了变化。要是页面没有产生变化时,头信息应当如下: 

ETag是什么 ETag标准 ETag响应头 httpETag

在我们与技术沟通配置ETag时,需要通过此种方式进行验证。第一次访问200状态码,有ETag的一行文本,再次访问该页面时,状态码为304,ETag的值不变。至此,我们就可以肯定ETag配置成功。

另外,sitemap启用Etag后:

1、百度可以更及时地相应sitemap的更新;

2、页面没有更新的状况下,对流量的耗损极小;

3、百度更加及时的抓取sitemap,便于更好的收录;

但多数状况下,ETag会与Last-Modified一起运用,这样可应用客户端(例如阅读器)的缓存。由于服务器首先发生Last- Modified/Etag标志,服务器可在稍后运用它来判断页面是否已经被修改。本质上,客户端通过将该记号传回服务器要求服务器验证其(客户端)缓 存。

站点服务器怎样配置ETag?

最佳是对全站进行配置ETag,这样关于站点而言,在带宽耗损、爬虫抓取上的晋升还是会有很大收益的。

一、Apache  

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

ETag是什么 ETag标准 ETag响应头 httpETag

以遮盖默许的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

ETag是什么 ETag标准 ETag响应头 httpETag

要是涌现如图状况,请删除Headerunset ETag这一行。

步骤3

从新启动httpd,就启用ETag了。

二、Nginx

步骤1

确认Nginx版本,下令:Nginx安装目录/sbin/nginx–v,

ETag是什么 ETag标准 ETag响应头 httpETag

版本为1.7.3及更高,继续步骤2;版本为1.7.3下列,1.3.3及以上,进行步骤3;版本为1.3.3下列,不支撑ETag,请晋级您的Nginx。

步骤2

确认没有关闭ETag:打开Nginx的配置文件nginx.conf(默许位置Nginx安装目录/conf/),确保其中没有涌现etagoff;,下图为涌现的状况,请将此行删除。

ETag是什么 ETag标准 ETag响应头 httpETag

确认没有运用ngx_headers_more革除ETag头:一样在配置文件中不能涌现如下语句的任意一句,要是涌现请将其删除。

ETag是什么 ETag标准 ETag响应头 httpETag

从新启动Nginx,就启用ETag功能了。

步骤3

查看是否开启了gzip,且是否和etag涌现冲突,涌现冲突去步骤4,没有去步骤2。

打开Nginx的配置文件nginx.conf(默许位置Nginx安装目录/conf/),其中涌现gzip on;语句证实开启了gzip,如图

ETag是什么 ETag标准 ETag响应头 httpETag

开启gzip时,可能与etag涌现冲突,用阅读器屡次请求此网站的静态元素,要是只返回200,不返回304,证实存在冲突,请去步骤4;没有冲突去步骤2。

 

步骤4

请关闭gzip,即将上一步中的gzipon;改为gzip off;然后去步骤2。

若不想关闭gzip,并要开启ETag,同时仍要坚持运用目前的Nginx版本,只能修改源码并从新编译。

下载此版本安装包并解压,将其目录下/src/http/modules/ngx_http_gzip_filter_module.c

文件中约309行左右的ngx_http_clear_etag(r);一行注释掉或删掉。如下图

ETag是什么 ETag标准 ETag响应头 httpETag

要是没有找到ngx_http_clear_etag(r);而是发明ngx_http_weak_etag(r);如下图,证实此Nginx

没有gzip和etag冲突的题目,无须进行任何修改。

ETag是什么 ETag标准 ETag响应头 httpETag

从新编译源码安装Nginx,解决这个冲突,然后去步骤2。

三、IIS

IIS7是默许开启ETag的,要是没有ETag,请按下列步骤设置。

打开Internet Information Services (IIS) Manager,如图双击HTTP相应头部(HTTPResponse Headers),

ETag是什么 ETag标准 ETag响应头 httpETag

选中No Grouping标签,在空白处右键选中Add。

ETag是什么 ETag标准 ETag响应头 httpETag

设置Name为ETag,Value为双引号

ETag是什么 ETag标准 ETag响应头 httpETag

配置web.config:­

<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="ETag"value="""" />
</customHeaders>
</httpProtocol>
...
</system.webServer>

完成。

ETag是什么 ETag标准 ETag响应头 httpETag

热门标签:dede模板 / destoon模板 / dedecms模版 / 织梦模板
责任编辑:fe4Jl
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有153人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助



订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板