[PConline資訊]外媒報導稱,谷歌希望將發展數十年的robots.txt解析器開源,以推動REP成為搜尋引擎爬蟲的行業標準。機器人排除協議(REP)是荷蘭軟體工程師MartijnKoster於1994年提出的一個標準,幾乎已經成為了網站不希望被搜尋引擎收錄的注釋的事實標準。
比如谷歌爬蟲(Googlebot)就會在索引某個網站時掃描robots.txt文件,以確定其應該忽略掉哪些部分。如果根目錄中未包含該文件,那搜尋引擎就會默認索引(index)全站內容。
值得一提的是,,該文件不僅可以用於提供直接的爬蟲索引,還可以被用來填充一些關鍵字,以實現「搜尋引擎優化」(SEO)。此外,並非所有抓取工具都會嚴格遵從robots.txt文件。
比如幾年前,網際網路檔案光就選擇了為其「時光機」(WaybackMachine)歸檔工具提供支持,另外一些惡意抓取工具也會有意忽略REP。
不過需要指出的是,即便REP已經成為了默認的實施標準,但它實際上從未成為真正的網際網路標準,正如網際網路工程任務組(IETF-一家非營利性開放標註組織)所定義的那樣。
為了推動這項轉變,谷歌正在積極參與行動。這家搜索巨頭表示,當前的REP可以被「解釋」,但並不總是涵蓋邊緣化的案例。
作為補充,谷歌提出了更全面的「未定義場景」。比如在執行一次「掃描已知內容」的任務時,爬蟲該如何處理「伺服器出現不可訪問故障」的robots.txt文件、或者有拼寫錯誤的規則?
谷歌在一篇博客文章中寫到:「對於網站所有者來說,這是一項極具挑戰性的問題。因為模糊的事實標準,讓他們很難恰當地編寫規則」。
我們希望幫助網站所有者和開發者在網際網路上創造出令人驚嘆的體驗,而無需擔心如何對抓取工具加以限制。
於是谷歌與REP原作者MartijnKoster、網站管理員、以及其它搜尋引擎合作,向IETF提交了一份關於《如何在現代網絡上適用REP》的提案。
該公司尚未公布該草案的全貌,但卻是提供了一些指引。比如任何基於URI的傳輸協議,都可以適用robots.txt。且其不再局限於HTTP,亦可面向FTP或CoAP。
據悉,開發者必須至少解析robots.txt的前500KB內容。定義文件的大小,可確保每個連接的打開時間不會太長,從而減輕不必要的伺服器壓力。
另外,新的最大緩存時間被設置為24小時(或可用的緩存指令值),使得網站所有者能夠隨時靈活地更新他們的robots.txt,且爬蟲不會因此而讓網站超載。
例如,在HTTP的情況下,可使用Cache-Control報頭來確定緩存時間。而當先前可訪問的robots.txt文件由於伺服器故障而變得不可用時,則會在相當長的時間段內不再檢索該網站。
這裡需要點明的是,抓取工具可以用不同的方式去解析robots.txt文件中的說明,這可能會導致網站所有者的混淆。 為此,谷歌特地推出了C++庫,其支持Googlebot在GitHub上給出的解析和匹配系統,以供任何人訪問。
根據GitHub上的發布說明,Google希望開發者構建自己的解析器,以更好地反映Google的robots.txt文件的解析和匹配。