关于百度蜘蛛 200 0 64 状态码的分析与解决

    最近帮朋友搞一个网站-- 齐鲁花木网,一个多月了,谷歌收录正常,百度只收录了首页(首页是生成的html文件)。察看iis日志,发现百度蜘蛛抓取页面的时候,有好多200 0 64。进一步分析,可以看到,静态页面html正常,返回 200 0 0 ,抓取php动态页面时,全部返回 200 0 64(是全部)。本人接触网站不太多,从网上资料来看,有好多说只要是200就是正常的,我就纳闷了,为什么静态页面和动态页面返回不一样呢?但是谷歌和别的爬虫都是200 0 0,属正常。

           于是,我决定从iis日志上查找原因。200 0 0和200 0 64 抓取的字节一样吗?iis日志默认是不记录服务器发送字节数的,我们要看到发送的字节数,要改一下iis日志的设置。首先,在电脑管理------internet服务----找到自己的网站,右击属性,点击“启用日志记录”右边的“属性”,点“高级”,勾选“发送字节数”,“接收字节数”,"所用时间",应用----确定,重启iis服务。

下图是百度蜘蛛抓取齐鲁花木网的一段分析数据:数据分析源自iis日志。静态的txt 和html文件返回200 0 0,动态的php返回200 0 64。分析了前几天的日志都这样。

               上图各列依次是域名,url,状态,最后一列三个数分别是“发送字节数”,“接收字节数”,"所用时间“。

               从上图看,200 0 0 状态的,服务器发送的字节数正常。200 0 64状态的,不论是哪个网页,发送字节数都是280左右(而谷歌和别的蜘蛛正常)。这说明百度爬虫抓取动态网页不正常,不是网上说的 200 0 64也正常(至少对齐鲁花木网这个站点来说,是不正常的)。

            以前就注意到,有人说百度蜘蛛对gzip抓取动态网页不正常,不过百度官方说百度完全支持gzip。会不会是gzip设置引起的?先停用gzip再说,在iis设置里停用gzip,哇。。。正常了,动态页面也出现了200 0 0,接收的字节也正常了。在此就不贴图了。

          找到原因就好办了,百度一下“gzip 200 0 64  ”  (我对gzip压缩这方面完全菜鸟),网上有解决办法,一般是更改 C:\WINDOWS\system32\inetsrv\MetaBase.xml关于gzip的压缩设置,作者只看了个大概,没有深入研究。齐鲁花木网这个站点后台有启用gzip压缩,我就在iis服务设置里只启用静态页面压缩,然后在网站后台管理启用gzip,OK,大功告成!

          说明一点,本文纯属自己的一点体会,希望遇到同样问题的站长能少走弯路。个人感觉200 0 64 绝不是正常情况,不是网上说的优化过渡或k站前兆,而可能是k站原因(因为百度蜘蛛总是抓取不到正常的网页,只好K了吧),所以站长遇到别的蜘蛛抓取正常,唯有百度出现200 0 64时,特别是动态页面,取消gzip试试。多数是因为服务器开启了GZIP,百度蜘蛛对静态页的GZIP访问正常,但对动态页的GZIP却有些问题。如果取消gzip后正常,那就是gzip引起的,再想办法解决(关闭GZIP或重新配置GZIP,或只压缩静态页)。当然,200 0 64也可能是别的原因引起的,比如网络故障 ,而使蜘蛛不能正常获取网站内容而放弃本次抓取,偶尔出现不足为怪。

你可能感兴趣的:(网站,www.ql789.com)