Wat is een CDXJ-index?
Een CDXJ-index is het register dat bij elke crawl hoort. Het beschrijft per opname waar in de archiefbestanden die opname precies staat — en maakt zo het snel terugkijken en doorzoeken van een webarchief mogelijk.
Een regel per opname
Waar een .warc-archief de onbewerkte serverresponsen bewaart (de daadwerkelijke HTML, afbeeldingen en scripts), is de CDXJ-index de tegenhanger die vastlegt wat er in die archieven zit. Voor elke opgenomen URL staat één regel met de belangrijkste kenmerken:
- url — het opgevraagde adres, in genormaliseerde vorm zodat het sorteerbaar en doorzoekbaar is;
- timestamp — het exacte moment van opname, zodat versies op datum te onderscheiden zijn;
- mime — het inhoudstype (bijvoorbeeld text/html of image/png);
- status — de HTTP-statuscode (200, 301, 404) van de oorspronkelijke respons;
- offset en length — de bytepositie en lengte van het record binnen het .warc-bestand;
- digest — de checksum van de inhoud, die ongewijzigde respons herkent en deduplicatie mogelijk maakt.
De basis voor terugkijken
Doordat de index per opname de offset en lengte bevat, hoeft onze terugkijk- en replay-omgeving niet het volledige archiefbestand te openen. Onze replay-engine doet een gerichte S3 byte-range-read: precies dat ene fragment wordt uit de opslag gehaald. Daardoor laadt een pagina uit een archief van vele gigabytes vrijwel direct, ongeacht hoe groot het bestand is.
Samenhang met zoeken en deduplicatie
De CDXJ-index werkt samen met de full-text zoekfunctie en met incrementeel archiveren. Omdat de digest per opname vastligt, herkent het systeem ongewijzigde pagina's en bewaart het die via ISO 28500-revisit-deduplicatie maar één keer — terwijl u in de doorzoekbare omgeving nog steeds elke datum terugvindt. De index blijft consistent over de hele keten van opnamen.
