www.yelia.net
朵朵已经:

查看完整版本: Web Robot的设计

阿喀琉斯 2007-6-7 15:36

Web Robot的设计

Internet越来越酷,WWW的知名度如日中天。在Internet上发布公司信息、进行电子商 务已经从时髦演化成时尚。作为一个Web Master,你可能对HTML、Javascript、Java、 ActiveX了如指掌,但你是否知道什么是Web Robot?你是否知道Web Robot和你所设计的主页有什么关系?
W&E-W ]SS I*M
3I:?*c_6T6C+M[v.T        [b]Internet上的流浪汉--- Web Robot[/b]*n#N pP,`t H[)]
(U:f3@{ @ ZP
  有时你会莫名其妙地发现你的主页的内容在一个搜索引擎中被索引,即使你从未与他们有过任何联系。其实这正是Web Robot的功劳。Web Robot其实是一些程序,它可以穿越大量Internet网址的超文本结构,递归地检索网络站点所有的内容。这些程序有时被叫“蜘蛛(Spider)”,“网上流浪汉(Web Wanderer)”,“网络蠕虫(web worms)”或Web crawler。一些Internet网上知名的搜索引擎站点(Search Engines)都有专门的Web Robot程序来完成信息的采集,例如Lycos,Webcrawler,Altavista等,以 及中文搜索引擎站点例如北极星,网易,GOYOYO等。
X b7~3k!m3t
1Cm q2P+S*s\'U Q%u   Web Robot就象一个不速之客,不管你是否在意,它都会忠于自己主人的职责,任劳任怨、不知疲倦地奔波于万维网的空间,当然也会光临你的主页,检索主页内容并生 成它所需要的记录格式。或许有的主页内容你乐于世人皆知,但有的内容你却不愿被洞察、索引。难道你就只能任其“横行”于自己主页空间,能否指挥和控制Web Robot的行踪呢?答案当然是肯定的。只要你阅读了本篇的下文,就可以象一个交通 警察一样,布置下一个个路标,告诉Web Robot应该怎么去检索你的主页,哪些可以 检索,哪些不可以访问。 a(F2]!nMfM}
6nYW Z xjV!a'r
  [b]其实Web Robot能听懂你的话[/b]
0X2I HRQ2K$]q 6gmMP)c6X
  不要以为Web Robot是毫无组织,毫无管束地乱跑。很多Web Robot软件给网络站点的管理员或网页内容制作者提供了两种方法来限制Web Robot的行踪: Y1mf!z7HiYo

(w2[;y A2MEt   1、[b]Robots Exclusion Protocol 协议[/b]
;qZ~5n tm-}9h7ZI jg8lw:[:| QLe:w
  网络站点的管理员可以在站点上建立一个专门格式的文件,来指出站点上的哪一部分可以被robot访问, 这个文件放在站点的根目录下,即 [url]http://.../robots.txt[/url] .
#L%b XP(DD,_*u
Z8~,h N'j   2、[b]Robots META tag[/b] JRm Ps,Bh
H&Oe?Z.S b }
  一个网页作者可以使用专门的HTML META tag ,来指出某一个网页是否可以被索引、分析或链接。
2JE)Q$XXPn x:q
'T+m"UK6M'Z6cDo0W   这些方法适合于大多数的Web Robot,至于是否在软件中实施了这些方法,还依赖于Robot的开发者,并非可以保证对任何Robot都灵验。如果你迫切需要保护自己内容, 则应考虑采用诸如增加密码等其他保护方法。
7h5k]8e*J3d dt:R'vDe!A&Xa6{+z
  [b]使用Robots Exclusion Protocol协议[/b]
%L%i5AD&M$\
i*UK*j!gQH9d"ZO   当Robot访问一个 Web 站点时,比如 [url]http://www.yelia.com/[/url] ,它先去检查文件[url]www.yelia.com/robots.txt[/url] 。如果这个文件存在,它便会按照这样的记录格式去分析: lc A&U6|'KG
e e2f w0RR6Z
[code]User-agent: *
5\`.rt+ZYE Disallow: /cgi-bin/f/U&m;?{La B
Disallow: /tmp/
2ngS jkT ^0LnZ ] Disallow: /~joe/[/code]
)ah1R Wl F5h i#s$[7{hN l+a'E4@w)_H&f
  以确定它是否应该检索站点的文件。这些记录是专门给Web Robot看的,一般的浏览者大概永远不会看到这个文件,所以千万不要异想天开地在里面加入形似 <img src=http://www.yelia.com/*> 之类的HTML语句或是“How do you do? where are you from?”之类假情假意的问候语。 x&\|aX7z G

]G7c(N"r,RgY?V   在一个站点上只能有一个 "/robots.txt" 文件,而且文件名的每个字母要求全部是小写。在Robot的记录格式中每一个单独的"Disallow" 行表示你不希望Robot访问的URL, 每个URL必须单独占一行,不能出现 "Disallow: /cgi-bin/ /tmp/"这样的病句。同时在一个记录中不能出现空行,这是因为空行是多个记录分割的标志。 f*r(q3c9??6XV:V4c?
7q#~*mk$A
  User-agent行指出的是Robot或其他代理的名称。在User-agent行,’*’ 表示一个特殊的含义---所有的robot。
,vsomT| J$vw{,ze9g YL
  下面是几个robot.txt的例子:
+]wZ-o/FYs AP#~!v
+tnI Gt-~Y [u]在整个服务器上拒绝所有的robots[/u]:
,Y*fXi o._t,W\5J&sI
@*T z7}1D [code]User-agent: *-BAB9G`!}k'\3m
Disallow: / [/code]
B jb"B8Img.w .?"o3lY)H J.B
[u]允许所有的robots访问整个站点[/u]: xz&~E0N2XQ

3K7^K!~WOx [code]User-agent: *!r4vo#Fi
Disallow:[/code]
T*^:l#`(u p \ !i1to~B1a[h a
或者产生一个空的 "/robots.txt" 文件。 (sn5`4Qb6]|"B

} m0E5N` [u]服务器的部分内容允许所有的robot访问[/u]#FzOaar{
B8Mo g T/v(Te
[code]User-agent: *#[#^"U$dd)| V$Ci
Disallow: /cgi-bin/
S#|2lt*_K'X Disallow: /tmp/(x(l ]&S"Kj+Q
Disallow: /private/[/code]
1Y6[]]_0QE+nD;an
^/\2`{N6H [u]拒绝某一个专门的robot[/u]:)kEQoW W
YXg#Y lwWq]
[code]User-agent: BadBot7fE(VN5k*F
Disallow: /[/code]
,@*D.Z z7py:yF uT L*T'XOnY;V6UM(j
[u]只允许某一个robot光顾[/u]:&mc9wp2n9n,G

!z6Ii MrbIF [code]User-agent: WebCrawler?IKWbDY6Y5I)h
Disallow: BM5U IC
User-agent: *(cBld"U8Q^-v
Disallow: /[/code]
8d2P(mx.yw"I
JA:`8f&v]F7lp,w 最后我们给出 [url]http://www.w3.org[/url] 站点上的robots.txt: (A2z6f*U&{,Y~

w1M {/xD9Q2xU(f [code]# For use by search.w3.org
HDNyd5h8I5B User-agent: W3Crobot/1
b'L0d3L ]+|Z:kJ Disallow: "u-U3V+ic"j}5}.X*[;C
User-agent: *
:{"`}w2v8b Disallow: /Member/ # This is restricted to W3C Members only
2qxi'\:EB.{ Disallow: /member/ # This is restricted to W3C Members only[,WX"V qim
Disallow: /team/ # This is restricted to W3C Team only `K9Hd7yC/Y
Disallow: /TandS/Member # This is restricted to W3C Members only U1v SiU(_;myJ
Disallow: /TandS/Team # This is restricted to W3C Team only dIL*c!Yw
Disallow: /ProjectY,a,N \|'Y
Disallow: /SystemsYDW2y/LDv]2{
Disallow: /Web
jp ?-di.I6Ir-I Disallow: /Team[/code]/},UMS-JN/\o]
Xbx5V4yQum
  [b]使用Robots META tag方式[/b] X*S*w:uQ-PY*[ b

rB8W{0RqTo L   Robots META tag 允许HTML网页作者指出某一页是否可以被索引,或是否可以用来查找更多的链接文件。目前只有部分robot实施了这一功能。
}Ns4U st5uiq 0mT i{ {4mn#N8l
  象其他的META tag一样,它应该放在HTML文件的HEAD区。i.R-DX!FK

U0n S!bi7e   Robots META tag指令使用逗号隔开,可以使用的指令包括 [NO]INDEX 和[NO] FOLLOW。INDEX 指令指出一个索引性robot是否可以对本页进行索引;FOLLOW 指令指出robot是否可以跟踪本页的链接。缺省的情况是INDEX和FOLLOW。uB0d7l Y6u$x7o[

|$G:mV:t;D(} El   一个好的Web 站点管理员应该将robot的管理考虑在内,使robot为自己的主页服务, 同时又不损害自己网页的安全。
页: [1]
查看完整版本: Web Robot的设计