建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
蜘蛛抓取静态页面与触发gzip压缩的实验结果
发布日期:2011-09-13 阅读次数:605 字体大小:

利用google管理员工具模拟googlebot抓取某静态页面,得到的HTTP头信息中没有Content-Encoding:gzip的标志,查看了content-length也是未压缩前的大小,所以很疑惑,是否蜘蛛的抓取不会触发gzip压缩,这是问题一。

问题一自己解决了,googlebot在向服务期发送http请求的过程中,Accept-Encoding项不出意外应该为空,我做了如下的实验,首先利用googlebot抓取该静态页面,确定得到的HTTP头信息中不存在Content-Encoding:gzip该项,并核对了content-length的大小。然后,使用浏览器访问触发服务器端对静态页面进行gzip压缩,用firebug确定返回了Content-Encoding:gzip以及content-length后,再次利用模拟googlebot抓取该页面,得到的头文件中终于出现了gzip的身影并且对比第一次抓取返回的content-length可以明确该页面被gzip大幅压缩过。

好吧,那我自问自答了。

得出的结论就是googlebot(应该也能适用到其他蜘蛛上)在抓取页面发送头信息的时候并不会触发gzip压缩,但是它的确读得懂被gzip压缩后的html文件,也就是如果你的网站本身有较高并且较深的访问流量,那么这个反而会大大的提高蜘蛛的抓取效率,所以这个有可能会成为SE判断一个网站流量乃至质量的一个因素

但接着我又有了问题二,那就是,gzip对静态页面的压缩版本在服务器上保存时间能有多久呢?

于是我拿了自己的一个美国站点以及一个国内站点进行了对比,发现同样都支持静态页面gzip压缩的两个站点反应却完全不同,国内的虚拟主机抽样查询了一些静态页面,发现全部为gzip压缩后的版本,也就是说,除非原页面发生了变动,那么国内该主机gzip压缩后的版本不出意外会永久性的保留在服务器端,但是美国的主机让我着实觉得被坑爹了一回,抽样的静态页面,初次访问全部没有gzip压缩版本,第二次重新访问才返回gzip压缩结果,打开速度提升,但是此后该压缩版本在一分钟左右会被删除,于是页面的打开速度又回到了原来的水平,我勒个去,这和没有开启gzip有什么区别啊。晚些回去检查下服务器设置,看是服务商坑爹还是自己美设置好。

关于问题二,找到了一张图片,应该能解释为什么美国主机上的gzip静态文件只会存在一会,不出意外应该和对方对临时目录大小的设置有关。

本文地址:http://www.gnbase.com/thread-3805-1.html