到了 1993 年,年輕的網路已有會自動抓取頁面的爬蟲,其中一些會猛打它們造訪的伺服器。Martijn Koster 在 Nexor 架設伺服器,發現自己的機器被某個網路漫遊程式以大約每秒一份文件的速度下載,而且早在 1993 年 9 月就已抱怨過反覆出現的自動下載。

顯而易見的解法是逐一管束爬蟲:找出營運者,打電話或寫信,請他們停手。這種做法無法規模化,而機器人正不斷增加。因此,Koster 於 1994 年 2 月 25 日在 www-talk 郵件論壇上發表〈Important: Spiders, Robots and Web Wanderers〉,提出一套「不需要任何伺服器/客戶端/協定變更」的標準:伺服器可以公布其 URL 空間中哪些部分不該被機器人造訪。

這個檔案最初名為 /RobotsNotWanted.txt,後來變成 robots.txt——短名稱勝出,因為 DOS 檔案系統限制了檔名長度。1994 年 7 月 3 日,Koster 宣布〈A Standard for Robot Exclusion〉;當時運作中的大多數機器人已經採用它,或已承諾支援。每個爬蟲只要在爬取前先抓取該檔案並遵守其規則即可。

讓它得以扎根的是設計:固定且眾所周知的 URL、純文字、沒有中央註冊機構、也沒有強制執行——這個檔案之所以有效,只因為爬蟲開發者同意去檢查它。二十八年後,IETF 將這項慣例正式化為 RFC 9309(2022),它至今仍是網站與機器人協商存取權的網路標準。

一個每個爬蟲都會檢查的退出機制檔案:沒有法律,沒有註冊機構

不需要變更協定、伺服器或瀏覽器,因此採用只需在爬蟲端做一個小改動。

固定且眾所周知的路徑,讓每個網站主有一個地方宣告規則,也讓每個爬蟲有一個地方查看。

自願遵守使誘因一致:忽略該檔案的爬蟲會失去讓它們有用的善意與存取權。

Koster 把主要的機器人開發者帶進 1994 年的郵件論壇討論,因此這項事實標準誕生時就已被採用。

當一項規則無法強制執行時,就把它設計成遵守幾乎不費力,且握有權力的一方有誘因遵循;如此一來,標準便會自我執行。

robots.txt 成了網路的預設存取契約,三十年來受到搜尋引擎與爬蟲遵守。2019 年它滿 25 歲;2022 年 9 月,IETF 發布 RFC 9309〈Robots Exclusion Protocol〉,由 Koster 與 Google 的 Gary Illyes 等人撰寫,加入了正式的錯誤處理與快取規則。在 2020 年代關於 AI 爬蟲與內容授權的辯論中,它依然居於核心——這個格式比每一個試圖取代它的嘗試都活得更久。

追溯依據

參考來源

  1. RFC 9309: Robots Exclusion Protocol IETF / RFC Editor · rfc-editor.org
  2. Robots.txt is 25 years old Martijn Koster (greenhills.co.uk) · greenhills.co.uk