Memento Project Explained

Memento is a United States National Digital Information Infrastructure and Preservation Program (NDIIPP)–funded project aimed at making Web-archived content more readily discoverable and accessible to the public.

Technical description

Memento is defined in RFC 7089[1] as an implementation of the time dimension of content negotiation.[2] HTTP accomplishes negotiation of content via a variety of headers that allow clients and servers to find content that the user desires.

Dimensions of Content Negotiation Provided by HTTP! Request Header! Response Header! Dimension! Examples! Reference
AcceptContent-Typecontent-type of the representationtext/htmltext/plainimage/pngRFC 7231[3] RFC 2616
Accept-LanguageContent-Languagelanguage of the representationenen-USczRFC 7231RFC 2616
Accept-EncodingContent-Encodingmedium, typically compression, that the content has been encoded withcompressgzipdeflateRFC 7231RFC 2616
Accept-CharsetContent -Typethe character set used by the web pageiso-8859-5unicode-1-1RFC. 7231RFC 2616
Accept-DatetimeMemento-Datetimetime of the representationFri, 15 Aug 2014 13:43:03GMTRFC 7089

The header provided by HTTP[4] does not necessarily reflect when a particular version of a web page came into existence. Also, the header may not exist in some cases. To provide more information, the header has been introduced to indicate when a specific representation of a web page was observed on the web.[5]

Usage

Copies of page can be found by simply navigating, in a web browser, to a link formatted, replacing urltoarchive with the full URL of the page desired:[6]

JSON description of a Memento:

<nowiki>http://timetravel.mementoweb.org/api/json/YYYY/</nowiki>''urltoarchive''

<nowiki>http://timetravel.mementoweb.org/api/json/YYYYMM/</nowiki>''urltoarchive''

<nowiki>http://timetravel.mementoweb.org/api/json/YYYYMMDD/</nowiki>''urltoarchive''

<nowiki>http://timetravel.mementoweb.org/api/json/YYYYMMDDHH/</nowiki>''urltoarchive''

<nowiki>http://timetravel.mementoweb.org/api/json/YYYYMMDDHHMM/</nowiki>''urltoarchive''

orredirect to a Memento with a datetime that is close to a desired datetime:

<nowiki>http://timetravel.mementoweb.org/memento/YYYY/</nowiki>''urltoarchive''

<nowiki>http://timetravel.mementoweb.org/memento/YYYYMM/</nowiki>''urltoarchive''

<nowiki>http://timetravel.mementoweb.org/memento/YYYYMMDD/</nowiki>''urltoarchive''

<nowiki>http://timetravel.mementoweb.org/memento/YYYYMMDDHH/</nowiki>''urltoarchive''

<nowiki>http://timetravel.mementoweb.org/memento/YYYYMMDDHHMM/</nowiki>''urltoarchive''

References

  1. RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento
  2. Berners Lee, Tim. "Web Architecture: Generic Resources". World Wide Web Consortium (W3C). 1996. http://www.w3.org/DesignIssues/Generic
  3. RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
  4. RFC 7232: Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
  5. 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
  6. Web site: Time Travel APIs. timetravel.mementoweb.org. 2018-05-15. https://web.archive.org/web/20180521224610/http://timetravel.mementoweb.org/guide/api/. 2018-05-21. live.

External links