Further details are as follows:
- In order to allow an HTTP client to get to prior/archived versions of Original Resource (URI-R),
this resource provides an HTTP Link header with a relationship type of "timegate" pointing at its TimeGate (URI-G).
- A TimeGate supports content negotiation in the datetime dimension.
When negotiating with the TimeGate, the HTTP client uses an Accept-Datetime header to express the desired datetime of a prior/archived
version of URI-R.
The TimeGate responds with the location of a matching version, named a Memento (URI-M1 or URI-M2),
allowing the HTTP client to access it.
Using the Memento-Datetime header, Mementos express their version/archival datetime.
- Note that the Original Resource, its TimeGate, and its Mementos can all reside on the same server
(as is the case with Content Management Systems),
or they can be on different servers (as is the case with Web Archives).
- HTTP Link headers with a relationship type of "original" point back from the TimeGate and the Mementos to the
Original Resource, allowing an HTTP client to retrace its steps.
- A Memento can point at other Mementos using a HTTP Link header with a relationship type of "memento".
It can point at its temporally adjacent Mementos that combines the "prev" and "memento" relationships,
and the "next" and "memento" relationships, respectively.
- Both a TimeGate and a Memento can point at the very first and very last Memento for URI-R that is known to them using a
HTTP Link header by combining the "first" and "memento" relationships,
and the "last" and "memento" relationships, respectively.
- Whenever the "memento" relation type is used in a link expressed in the HTTP Link header, it must be
accompanied by a "datetime" attribute that conveys the archival datetime of the linked Memento.
- Below is a sample HTTP response header from a TimeGate. It shows the TimeGate redirecting to a Memento, the URI-M
of which is provided in the Location header. It also illustrates the use of the various Memento relation types
in the Link header. Note the Vary header that indicates that the TimeGate used content negotiation in the datetime