Internet越來越酷,WWW的知名度如日中天。在Internet上發佈公司資訊、進行電子商務已經從時髦演變成時尚。身為Web Master,你可能對HTML、Javascript、Java、 ActiveX瞭如指掌,但你是否知道什麼是Web Robot?你是否知道Web Robot和你所設計的主頁有什麼關係?
在網路上的流浪漢--- Web Robot
有時你會莫名其妙地發現你的主頁的內容在一個搜尋引擎中被索引,即使你從未與他們有過任何聯繫。其實這正是Web Robot的功勞。 Web Robot其實是一些程序,它可以穿越大量Internet網址的超文本結構,遞歸地檢索網站所有的內容。這些程式有時被稱為“蜘蛛(Spider)” , “網上流浪漢(Web Wanderer)”,“網絡蠕蟲(web worms)”或Web crawler。一些Internet網路上知名的搜尋引擎網站(Search Engines)都有專門的Web Robot程式來完成資訊的收集,例如Lycos,Webcrawler,Altavista等,以及中文搜尋引擎網站例如北極星,網易,GOYOYO等。
Web Robot就像一個不速之客,不管你是否在意,它都會忠於自己主人的職責,任勞任怨、不知疲倦地奔波於萬維網的空間,當然也會光臨你的主頁,檢索主頁內容並生成它所需要的記錄格式。或許有的主頁內容你樂於世人皆知,但有的內容你卻不願被洞察、索引。難道你只能任其「橫行」於自己主頁空間,能否指揮控制Web Robot的行蹤呢?答案當然是肯定的。只要你讀了本篇的下文,就可以像一個交通警察一樣,佈置下一個個路標,告訴Web Robot應該怎麼去檢索你的主頁,哪些可以檢索,哪些不可以訪問。
其實Web Robot能聽懂你的話
不要以為Web Robot是毫無組織,毫無管束地亂跑。許多Web Robot軟體為網站的管理員或網頁內容製作者提供了兩種方法來限制Web Robot的行踪:
1、Robots Exclusion Protocol 協議
網絡站點的管理員可以在站點上建立一個專門格式的文件,來指出網站上的哪一部分可以被robot存取, 這個檔案放在網站的根目錄下,即http://.../robots.txt .
2、Robots META tag
一個網頁作者可以使用專門的HTML META tag ,來指出某一個網頁是否可以被索引、分析或連結。
這些方法適合於大多數的Web Robot,至於是否在軟體中實施了這些方法,還依賴Robot的開發者,並非可以保證對任何Robot都靈驗。如果你迫切需要保護自己內容, 則應考慮採用諸如增加密碼等其他保護方法。
使用Robots Exclusion Protocol協定
當Robot造訪一個Web 網站時,例如http://www.sti.net.cn/ ,它先去檢查檔案http: //www.sti.net.cn/robots.txt。如果這個檔案存在,它便會按照這樣的記錄格式去分析:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
以確定它是否應該檢索網站的檔案。這些記錄是專門給Web Robot看的,一般的瀏覽者大概永遠不會看到這個文件,所以千萬不要異想天開地在裡面加入形似<img src=*> 類的HTML語句或是“How do you do ? where are you from?」之類假情假意的問候語。
在一個站點上只能有一個"/robots.txt" 文件,而且文件名的每個字母要求全部是小寫。在Robot的記錄格式中每一個單獨的"Disallow" 行表示你不希望Robot訪問的URL, 每個URL必須單獨佔一行,不能出現"Disallow: /cgi-bin/ /tmp/"這樣的病句。同時在一個記錄中不能出現空白行,這是因為空行是多個記錄分割的標誌。
User-agent行指出的是Robot或其他代理程式的名稱。在User-agent行,'*' 表示一個特殊的意義---所有的robot。
以下是幾個robot.txt的例子:
在整個伺服器上拒絕所有的robots:
User-agent: *
Disallow: /
允許所有的robots存取整個網站:
User-agent: *
Disallow:
或產生一個空的"/robots.txt" 檔案。
伺服器的部分內容允許所有的robot訪問
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/
拒絕某一個專門的robot:
User-agent: BadBot
Disallow: /
只允許某一個robot光顧:
User-agent: WebCrawler
Disallow:
User-agent: *
Disallow: /
最後我們給出http://www.w3.org/網站上的robots.txt:
# For use by search.w3.org
User-agent: W3Crobot/1
Disallow:
User-agent: *
Disallow: /Member/ # This is restricted to W3C Members only
Disallow: /member/ # This is restricted to W3C Members only
Disallow: /team/ # This is restricted to W3C Team only
Disallow: /TandS/Member # This is restricted to W3C Members only
Disallow: /TandS/Team # This is restricted to W3C Team only
Disallow: /Project
Disallow: /Systems
Disallow: /Web
Disallow: /Team
使用Robots META tag方式
Robots META tag 允許HTML網頁作者指出某一頁是否可以被索引,或者是否可以用來查找更多的連結檔案。目前只有部分robot實作了這項功能。
Robots META tag的格式為:
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
像其他的META tag一樣,它應該放在HTML檔案的HEAD區:
<html>
<head>
<meta name="robots" content="noindex,nofollow">
<meta name="description" content="This page ....">
<title>...</title>
</head>
<body>
...
Robots META tag指令使用逗號隔開,可以使用的指令包括[NO]INDEX 和[NO] FOLLOW。 INDEX 指令指出一個索引性robot是否可以對本頁進行索引;FOLLOW 指令指出robot是否可以追蹤本頁的連結。缺省的情況是INDEX和FOLLOW。例如:
<meta name="robots" content="index,follow">
<meta name="robots" content="noindex,follow">
<meta name="robots" content="index,nofollow">
<meta name="robots" content="noindex,nofollow">
一個好的Web 網站管理員應該將robot的管理考慮在內,使robot為自己的主頁服務, 同時又不損害自己網頁的安全。