What It Said Then

Web archives

The Memento protocol explained: asking the web for a page as it was on a date

Last checked 6 November 2026 · 3 sources

Short answer

Memento is an HTTP framework, published as RFC 7089 in December 2013, that lets software ask for a past version of a web page by date 1. A client sends an Accept-Datetime header to a TimeGate, which picks the archived copy closest to that date 1. Each archived copy, called a memento, states its capture time in a Memento-Datetime header 1. A TimeMap lists all mementos of a page 1. RFC 7089 is an Informational document, not an Internet Standards Track specification 1.
Document
RFC 7089, December 2013 1
Authors
H. Van de Sompel, M. Nelson and R. Sanderson 1
Status
Informational, not Internet Standards Track 1
Request header
Accept-Datetime 1
Response header
Memento-Datetime 1
Link relations
original, timegate, timemap, memento 1

The four parts of Memento

RFC 7089 defines four kinds of resource 1. Each has a short label in the document, such as URI-R for the address of the original page.

TermLabelWhat it is
Original ResourceURI-RA resource that exists or used to exist, whose prior states may need to be reached 1
MementoURI-MA resource that holds a prior state of an Original Resource 1
TimeGateURI-GA resource that supports datetime negotiation to reach prior states 1
TimeMapURI-TA resource that lists the URIs of the mementos for an Original Resource 1

How datetime negotiation works

RFC 7089 calls its method datetime negotiation. It is a variation on HTTP content negotiation in which the client states a preferred datetime instead of a media type 1. The server selects the memento closest to that preference 1.

A typical sequence has four steps, as the RFC describes it 1.

  • The client requests the original page with an Accept-Datetime header 1.
  • The response points to a TimeGate through a link with the relation type timegate 1.
  • The client negotiates with the TimeGate, which selects a memento 1.
  • The client retrieves the selected memento, which carries a Memento-Datetime header 1.

Headers and links

Accept-Datetime is a request header. It tells a server which past datetime the client wants 1. Memento-Datetime is a response header. It gives the archival datetime of a memento, and RFC 7089 treats its presence as a promise that the captured state will no longer change 1.

A TimeGate adds accept-datetime to its Vary header to show that datetime negotiation is available 1. Links use four relation types: original points to the Original Resource, timegate to a TimeGate, timemap to a TimeMap, and memento to a specific memento with a datetime attribute matching its Memento-Datetime 1.

The RFC allows two response styles. In one the TimeGate redirects the client to the memento URI, in the style of a 302 response. In the other it returns the memento directly with a 200 response and a Content-Location header 1.

Limits to keep in mind

The memento returned may be far from the date asked for. RFC 7089 notes that archives are often sparse, so the returned datetime can differ noticeably from the requested one 1. Anyone citing a memento should quote the Memento-Datetime value, not the date they asked for.

Memento describes how to find and serve captures, not how to store them. Many archives store captures in the WARC file format, set out in ISO 28500:2017 3. WARC records hold the content and control information from protocols such as HTTP, with metadata and request headers, and support record integrity 3.

The Wayback Machine shows the same idea in its URLs. The Internet Archive says the 14-digit code in an archived URL is the capture date and time, as yyyymmddhhmmss, and that replacing it with an asterisk lists all captures of a site 2. That list works like a TimeMap for human readers 1,2.

Why Memento matters for evidence and citation

A Memento-Datetime header is a machine-readable statement by the archive of when a copy was made 1. It is the archive's own claim. It is not a signed timestamp from an independent party, which is a different tool covered by RFC 3161 time-stamp tokens.

When citing a page, a stable memento URI with its datetime lets a reader find the same capture again 1,2.

Common questions

Is Memento an official internet standard?

No. RFC 7089 is an Informational document and says it is not an Internet Standards Track specification 1.

What is a TimeGate?

A resource that supports datetime negotiation, choosing the archived copy closest to the date a client asks for 1.

What is the difference between Accept-Datetime and Memento-Datetime?

Accept-Datetime is what the client asks for. Memento-Datetime is when the archive says the copy was captured 1.

Will a TimeGate always return a copy from the exact date I ask for?

No. RFC 7089 notes that archives are often sparse, so the copy returned may be from a different datetime 1.

Rules and charges change. Check the official source linked on this page before you pay or travel. Spotted an error? Email hello@whatitsaidthen.com.

Sources

  1. RFC Editor: RFC 7089, HTTP Framework for Time-Based Access to Resource States, Memento (December 2013)
  2. Internet Archive Help Center: Using the Wayback Machine (provider page)
  3. ISO: ISO 28500:2017 Information and documentation, WARC file format

Related