每次当用户代理向WEB站点请求一个URL地址,服务器都会用一组HTTP报头作为回复;被请求的内容跟在它们的后面。然而,大多数用户从未见过通信的这个部分,因为WEB浏览器通常并不显示它们。
如果你从未见过这些报头信息是什么样子,现在该开开眼界了。最容易开始的途径是使用基于WEB工具,它能完成所有的工作。在http://www.seoegghead.com/tools/view-http-headers.php上就有这么一种工具。
更方便的方法,是在浏览器中使用插件来查看这些报头信息。可以用在firefox中。对Internet Explorer,则可以使用ieHTTPHeaders。
现在最感兴趣的是HTTP报头信息部分,就是包含请求的状态代码的那一行。最普通的状态代码是200,它指出请求被WEB服务器成功处理,没有任何问题。紧跟在它之后的便是用户请求的内容。
然而,作为搜索引擎营销人员,还需要知道很多其他的状态代码。下面涉及以下状态代码:
一、重定向:301和302
二、被删除:404
三、服务器错误:500
对所有HTTP状态代码的官方描述可以在以下地址找到http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html。
使用301和302重定向
HTTP状态代码中,用于重定向的是301和302。这两个代码指明了为满足某个HTTP请求就必须被发现另一个请求——内容位于其他地方。当一个网页用这两个代码的任意一个作为响应时,它返回的不是任何HTML内容,而是包含了一个附加的HTTP报头信息:Location,它指示另一个URL地址,在这里可以找到响应的内容。
下面显示了一个重定向具体流程的示例。当发生重定向时,发出重定向的URL地址并未返回任何内容,而是指明将被指向的新URL地址。
用户请求URL地址A——WEB客户机请求URL地址A——WEB服务器将URL地址A使用状态代码指明重定向到URL地址B——WEB客户机请求URL地址B,将浏览器地址栏更新为显示URL地址B——WEB服务器将URL地址B使用200状态代码和一些HTML内容作为响应——用户显示来自URL地址B的内容——WEB客户机读取从URL地址B返回的内容
注意,在这个例子中用户代理是搜索引擎蜘蛛或者是软件应用程序。处理过程没有用户参与。当遇到重定向时,搜索引擎按照相同的处理过程来更新SERP。
重定向可以被串联,即一个重定向可以指向一个页面,又可以被再次重定向。然而,在可能的范围内,应尽量避免多次重定向。老版本的RFC2616规定了重定向最多不超过5次,但是后来这个上限被提高了。不管怎样,明知之举是避免串联重定向,因为它们会减慢站点的检索——蜘蛛只会将重定几的结果纳入检索计划,而不会去马上获取它。
HTTP标准实际上包含很多重定向状态代码。
实际运用中,只有301和302状态代码被用于重定向。此外,众所周知,因为浏览器与某些其他状态代码的冲突,即使那些代码看上去更恰当或更明确,避免使用才可能更明知。只能这样假设:搜索引擎也与它们冲突,或者,至少还未完全了解怎样解释它们。
重定向状态代码
状态代码 描述
300 多个选择
301 永久转移
302 被找到
303 见其他
304 未被修改
305 使用代理
307 临时重定几