Memento项目是一个由美国国家数字信息基础设施和保存计划英语National Digital Information Infrastructure and Preservation Program(NDIIPP)资助的项目,旨在使网络存档的内容更容易被公众发现和访问,同时也为网络历史研究提供便利。

Memento项目的logo

技术说明 编辑

Memento项目在 RFC 7089 中定义为内容协商的时间维度的一种实现,内容协商是蒂姆·伯纳斯-李在1996年提出的概念。Memento利用HTTP的头部信息来实现客户端和服务器之间的内容协商,从而找到用户所需内容的不同版本。

HTTP提供的内容协商维度
请求头 响应头 维度 例子 参考
Accept Content-Type 呈现的内容类型 text/html

text/plain
image/png

RFC 7231

RFC 2616

Accept-Language Content-Language 使用的语言 en

en-US
cz

RFC 7231

RFC 2616

Accept-Encoding Content-Encoding 通常是已被压缩的媒体,内容已被编码 compress

gzip
deflate

RFC 7231

RFC 2616

Accept-Charset Content-Type 网页使用的字符集 iso-8859-5

unicode-1-1

RFC 7231

RFC 2616

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]

 
此图显示Memento在给定原始资源 (URI-R) 和日期时间后,如何使用TimeGate(URI-G)为用户找到最佳存档页面(URI-M)。

用法 编辑

用户可以通过在浏览器中导航到一个特定的链接来找到网页的历史副本,将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

参考 编辑

  1. ^ RFC 7232: Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
  2. ^ 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.
  3. ^ Time Travel APIs. timetravel.mementoweb.org. [2018-05-15]. (原始内容存档于2018-05-21). 

外部链接 编辑