搜索引擎中的spider负责从internet上下载网页等资源。但有一些网页是重定向的。对于重定向的网页在得到url和下载该网页时需要对其进行处理。
网页重定向可以在http头进行,如下面的http头
Date: Tue, 11 Apr 2006 08:14:17 GMT
Server: Apache/2.0.54 (Fedora)
Location: http://abc.go.com/
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1
......
以上的http头是访问http://www.abc.com返回的,其中Location 字段的值是 http://abc.go.com/,说明在浏览器输入http://www.abc.com时,浏览器将定位到http://abc.go.com 上,即输入的url变为了http://abc.go.com。在spider中需要读取这个字段以便在分析和下载网页时处理location所指向的网页。
还有另外一种重定向,即<meta ...>,这个tag有两个属性,http-equiv和content,其中http-equiv的值是refresh,而content的值由 两部分组成,网页要刷新之前要等待的时间,单位是秒。另一个是url=newurl,即要定向的新网页。
上述的tag完整描述为:<meta http-equiv='refresh' content='0;url=b.html'>
当网页中有这个tag时,在浏览这个网页后,将自动跳到新网页中。在url所指的网页可以是绝对路径(http://www.mysite.com/b.html),也可是相对路径(b.html)。在处理时应注意。
网页重定向可以在http头进行,如下面的http头
Date: Tue, 11 Apr 2006 08:14:17 GMT
Server: Apache/2.0.54 (Fedora)
Location: http://abc.go.com/
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1
......
以上的http头是访问http://www.abc.com返回的,其中Location 字段的值是 http://abc.go.com/,说明在浏览器输入http://www.abc.com时,浏览器将定位到http://abc.go.com 上,即输入的url变为了http://abc.go.com。在spider中需要读取这个字段以便在分析和下载网页时处理location所指向的网页。
还有另外一种重定向,即<meta ...>,这个tag有两个属性,http-equiv和content,其中http-equiv的值是refresh,而content的值由 两部分组成,网页要刷新之前要等待的时间,单位是秒。另一个是url=newurl,即要定向的新网页。
上述的tag完整描述为:<meta http-equiv='refresh' content='0;url=b.html'>
当网页中有这个tag时,在浏览这个网页后,将自动跳到新网页中。在url所指的网页可以是绝对路径(http://www.mysite.com/b.html),也可是相对路径(b.html)。在处理时应注意。