The "Memento Link" is not a product, but a foundational web standard defined in RFC 7089. It formalizes a method for web servers to communicate the history of a resource. In a digital landscape increasingly plagued by "link rot" and content drift, the Memento protocol—and specifically the implementation of the memento-link relation in HTTP headers—offers a sophisticated solution for connecting the current state of a URL to its historical snapshots. While invisible to the average end-user, it is the invisible glue holding the history of the World Wide Web together.
Journalists covering protests or political unrest often see websites taken down within hours. An automated script pinging an index of memento links every 5 minutes can save a permanent record.
| Tool | Function |
|------|----------|
| Memento Aggregator | Queries multiple archives’ TimeMaps and merges results. |
| pywb | Web archiving framework with native TimeMap generation. |
| OutbackCDX | High-performance CDX server for indexes. |
| MemGator | Open-source Memento aggregator and proxy. |
| ArchiveBox | Adds Memento links for local snapshots. |
| MementoFox | Firefox extension to browse indexes. |
The Memento protocol uses the Link header with rel="timemap". To get an index of memento links for http://example.com/:
curl -I "http://example.com/" -H "Accept-Datetime: Thu, 01 Jan 2015 12:00:00 GMT"
If the live server supports Memento, it will return a Link header pointing to the time map. However, since few live servers support this, you query the Memento Aggregator directly:
curl "http://memgator.cs.odu.edu/timemap/json/http://edition.cnn.com"
The output is a JSON index containing an array of memento links, each with a datetime and uri. You have just created an index of memento links programmatically.
The "index" can also be discovered by querying specific archives. For example, the Internet Archive provides its own index: