Memento Project

Last updated
The Memento logo Memento logo 640.png
The Memento logo

Memento was a project of the United States National Digital Information Infrastructure and Preservation Program (NDIIPP). It was funded with the aim of making Web-archived content more easily discoverable and accessible to the public. The project concluded on 5 September 2025. [1] [2]

Contents

Technical description

Memento is defined in RFC 7089 [3] as an implementation of the time dimension of content negotiation. [4] 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 HeaderResponse HeaderDimensionExamplesReference
AcceptContent-Typecontent-type of the representationtext/html

text/plain image/png

RFC 7231 [5]

RFC 2616

Accept-LanguageContent-Languagelanguage of the representationen

en-US cz

RFC 7231

RFC 2616

Accept-EncodingContent-Encodingmedium, typically compression, that the content has been encoded withcompress

gzip deflate

RFC 7231

RFC 2616

Accept-CharsetContent -Typethe character set used by the web pageiso-8859-5

unicode-1-1

RFC.
7231

RFC 2616

Accept-DatetimeMemento-Datetimetime of the representationFri, 15 Aug 2014 13:43:03

GMT

RFC 7089

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

This diagram shows how Memento uses a TimeGate (URI-G) to find the best archived page (URI-M) for a user, given the original resource (URI-R) and a datetime. Memento-project-memento-process.png
This diagram shows how Memento uses a TimeGate (URI-G) to find the best archived page (URI-M) for a user, given the original resource (URI-R) and a datetime.

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: [8]

JSON description of a Memento:

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
or

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

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

References

  1. Taylor, Nicholas (2025-08-07). "Memento TimeTravel sunset". memento-dev (Mailing list). Archived from the original on 2025-08-18. Retrieved 2025-11-21.
  2. timetravel.mementoweb.org at the Wayback Machine (archived 2025-09-05)
  3. RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento
  4. Berners Lee, Tim. "Web Architecture: Generic Resources". World Wide Web Consortium (W3C). 1996. http://www.w3.org/DesignIssues/Generic Archived 2015-06-02 at the Wayback Machine
  5. RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
  6. RFC 7232: Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
  7. 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 Archived 2015-05-19 at the Wayback Machine
  8. "Time Travel APIs". timetravel.mementoweb.org. Archived from the original on 2018-05-21. Retrieved 2018-05-15.