Memento項目
Memento項目是一個由美國國家數字信息基礎設施和保存計劃(NDIIPP)資助的項目,旨在使網絡存檔的內容更容易被公眾發現和訪問,同時也為網絡歷史研究提供便利。
技術說明
Memento項目在 RFC 7089 中定義為內容協商的時間維度的一種實現,內容協商是蒂姆·伯納斯-李在1996年提出的概念。Memento利用HTTP的頭部信息來實現客戶端和服務器之間的內容協商,從而找到用戶所需內容的不同版本。
請求頭 | 響應頭 | 維度 | 例子 | 參考 |
---|---|---|---|---|
Accept | Content-Type | 呈現的內容類型 | text/html text/plain |
RFC 7231 |
Accept-Language | Content-Language | 使用的語言 | en en-US |
RFC 7231 |
Accept-Encoding | Content-Encoding | 通常是已被壓縮的媒體,內容已被編碼 | compress gzip |
RFC 7231 |
Accept-Charset | Content-Type | 網頁使用的字符集 | iso-8859-5 unicode-1-1 |
RFC 7231 |
Accept-Datetime | Memento-Datetime | 呈現的時間 | Fri, 15 Aug 2014 13:43:03 GMT | RFC 7089 |
要完全理解Memento,必須認識到HTTP提供的Last-Modified
標頭不一定反映特定版本的網頁何時出現[1]。此外,在某些情況下Last-Modified
標頭可能不存在。為了提供更多信息,Memento項目引入了一個新的頭部信息Memento-Datetime
,用於表示網頁的特定版本在網絡上被觀察到的時間。[2]
用法
用戶可以通過在瀏覽器中導航到一個特定的鏈接來找到網頁的歷史副本,將urltoarchive
替換為所需頁面的完整URL即可[3]。
Memento的JSON描述:
http://timetravel.mementoweb.org/api/json/YYYY/urltoarchive
http://timetravel.mementoweb.org/api/json/YYYYMM/urltoarchive
http://timetravel.mementoweb.org/api/json/YYYYMMDD/urltoarchive
http://timetravel.mementoweb.org/api/json/YYYYMMDDHH/urltoarchive
http://timetravel.mementoweb.org/api/json/YYYYMMDDHHMM/urltoarchive
或者重定向到一個與期望時間相近的副本:
http://timetravel.mementoweb.org/memento/YYYY/urltoarchive
http://timetravel.mementoweb.org/memento/YYYYMM/urltoarchive
http://timetravel.mementoweb.org/memento/YYYYMMDD/urltoarchive
http://timetravel.mementoweb.org/memento/YYYYMMDDHH/urltoarchive
http://timetravel.mementoweb.org/memento/YYYYMMDDHHMM/urltoarchive
參考
- ^ RFC 7232: Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
- ^ Nelson, Michael L. "2010-11-05: Memento-Datetime is not Last-Modified". Web Science and Digital Libraries Research Group. November 5, 2010. http://ws-dl.blogspot.com/2010/11/2010-11-05-memento-datetime-is-not-last.html 網際網路檔案館的存檔,存檔日期2015-05-19.
- ^ Time Travel APIs. timetravel.mementoweb.org. [2018-05-15]. (原始內容存檔於2018-05-21).