撰写本文的出发点:由于最近项目改版,需要用到新的域名。于是每天开始对蜘蛛及用户的访问日志进行分析,以并发现不正常的请求及站内错误。废话不多讲,直奔主题。
步骤:
NO1、改版后服务器环境搭好,优化好各项配置参数并测试好对外开放新域名。
NO2、1-2天百度收录、谷歌收录。(注:在权重极高的首页挂了一下)
NO3、10天了,百度还只收录首页,内页动也不动。GOOGLE已经好几万了。
NO4、观察日志LOG,GOOGLE 全是200 0 0状态码,百度200 0 64全是这些状态码
NO5、搜索大量资料分析这些状态码。其中的资料主要来自A5和CHINAZ,发现一些根本不懂的人也在乱讲,导致搜出来的内容并不科学占了主导意思。
网络上的主要意思大概有下面几个观点,本人一一作出解答。
1、K站的表现,这一说法主要来自被K过站的站长,然后在散播说,只要留下200 0 64 就表示百度要K你了。
答:错误,这只能说是一种伪科学。你有啥证据?百度官方说了吗。我们站在科学的角度分析:200 0代表连接成功,大家都明白。后面的64 查询MSDN后得到是网络不可用。本人开发C++ 3年,C# 4年的经验判断,出现这一现象,主要是因为网络被重置,或者TCP通讯时哪一方主动被断开。因为本人所从事的工作也经常是网络开发。只要一方不正常断开,另一方会导致异常,程序就要去做相应的异常处理,IIS也是个程序,百度蜘蛛也是个程序。那么双方都会去处理这个异常。其中IIS日志就会记录200 0 64。本人观察正常的浏览器也会产生200 0 64 码,原因也是如此。只要浏览器在DEBUG时然后中断连接,日志就会产生这种状态码。
再说,我一个新域名,也没有啥优化过度,做个啥的弊,被K啥。
2、网络广为流传的代表64位操作系统。
答:狗屎,滚蛋。中国的互联网正是因为有了你们这些人,才会有那么多的垃圾弹窗。
3、GZIP优化后,导致这一情况产生。
答:本人着重针对这一点进行分析,GZIP的原理不说了,为什么做也不说了。那么GOOGLE,和市面上大多数浏览器也是支持GZIP的,百度的蜘蛛也是支持GZIP的。这一点可以从百度的官方得到认可,百度官方的搜索引擎优化指南也提倡这一做法。本人的服务器已经开启GZIP,得到的状态码大多数如下:
2012-02-23 00:11:18 W3SVC571308376 192.168.206.2 GET http://www.***.com/forum.php mod=viewthread&tid=59286&extra=page%3D1&page=1& 80 - 123.125.71.98 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 64
2012-02-23 00:18:26 W3SVC571308376 192.168.206.2 GET http://www.***.com/index.php - 80 - 123.125.71.110 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 64
2012-02-23 01:37:23 W3SVC571308376 192.168.206.2 GET http://www.***.com/archiver/index.php action=tid&value=90013& 80 - 123.125.71.56 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 64
于是本人关闭GZIP进行跟踪观察,第二天发现的日志如下:
2012-02-24 01:46:05 W3SVC571308376 192.168.206.2 GET http://www.***.com//archiver/index.php action=fid&value=64& 80 - 123.125.71.22 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0
2012-02-24 01:46:08 W3SVC571308376 192.168.206.2 GET http://www.***.com//plugin.php id=vgallery:vgallery&tion=view&vid=59 80 - 123.125.71.16 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0
2012-02-24 01:38:54 W3SVC571308376 192.168.206.2 GET http://www.***.com//forum.php mod=viewthread&tid=90290&extra=page%3D1&page=1& 80 - 123.125.71.114 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0
为什么会这样子呢?我的分析如下:
1、百度在请求页面内容的时候,得到GZIP加密串,然后进行解密。这一过程没有及时的将剩余的资源读取完毕就干自己的事了。导致服务方出现异常,所以产生了网络被重置,网络名不可用的日志。GOOGLE这一方面做的非常好,完全按照流程办事。其实这也是没有关系的。因为百度已经得到了自己想要的内容。
2、百度在请求页面内容的时候,得到GZIP加密串,解密失败。哈哈。这说不过去吧。这正是广大站长最担心的,百度也没有解释。我认为这点倒不致于。
3、有些人说,我没有启用GZIP为什么也会有200 0 64 ,因为蜘蛛在抓你的内容的时候,你的内容没有发生变化,它只判断内容流的前部分就直接关闭这次通讯。导致你的服务器程序出现网络不可用或者网络名不存在,也就是64。其实百度这么做是为了提高抓取效率。
通过本人的分析,推荐大家关闭GZIP先。其实也就是个心理有个放心。什么网上所谓的K站前兆,64位系统都是没有证据的,不必理会。
另,根据本人的亲测,百度确实有个新站考察期,时间为,1周-2月不等。