Overview & Scope
The 1990 Web Archive maintains a rigorous technical framework designed to capture, normalize, and preserve early internet artifacts with bit-perfect accuracy. All archival operations adhere to international digital preservation standards while accommodating the unique constraints of legacy web technologies.
| Standard | Version | Adoption | Status |
|---|---|---|---|
| OAIS Reference Model | ISO 14721:2012 | Full | Required |
| WARC Format | 1.1 / 1.0 | Full | Required |
| Dublin Core Metadata | 1.1 | Extended | Required |
| 1990WAM Schema | 2.4.0 | Internal | Optional |
| JS2WARC Renderer | 0.8.1 | Limited | Experimental |
Data Format Specifications
All captured content is serialized using the Web ARChive (WARC) format. Legacy assets are normalized to ensure long-term readability without requiring deprecated rendering engines.
2.1 WARC Generation Rules
Crawlers must generate WARC-1.1 files by default. WARC-1.0 is permitted for interoperability with legacy ingestion pipelines. All records must include:
- Content-Type headers matching original capture
- WARC-Date in ISO 8601 format
- WARC-Block-Digest (SHA-256)
- WARC-Profile tags per IANA registration
WARC/1.1
WARC-Type: response
WARC-Target-URI: http://example.geocities.com/home.html
WARC-Date: 2024-11-15T14:32:00Z
WARC-Record-ID: <urn:uuid:7f8a9c2e-11d4-4b6a-9e3f-005056c00001>
Content-Type: application/warc-fields
WARC-Block-Digest: sha256:A1B2C3D4...
HTTP/1.1 200 OK
Content-Type: text/html; charset=iso-8859-1
Content-Length: 4821
...
2.2 Legacy Asset Normalization
Binary formats common to the 1990–1999 era are preserved in their original encoding. Where lossy compression is detected, a parallel lossless variant is generated and linked via WARC-Profile.
| Asset Type | Preservation Strategy | Fallback Format |
|---|---|---|
| Animated GIF | Bit-exact preservation | APNG (archival backup) |
| MIDI/SMF | Original container + metadata extraction | OPUS (access copy only) |
| Frame-based HTML | Frameset disassembly + standalone serialization | Single-page HTML5 rebuild |
| Flash/SWF | SWF dump + Ruffle-compatible extraction | Video/IMG sequence |
Crawling & Capture Protocols
Crawling operations follow a deterministic, politeness-aware schedule. Historical targets are accessed via proxy chains that emulate early HTTP/1.0 and 1.1 clients to ensure compatibility with legacy server responses.
3.1 Politeness & Throttling
Default crawl rate: 1 request / 3s per origin. Origins publishing robots.txt are respected unless explicitly overridden by archival mandate. Rate limits are enforced at the network egress level.
3.2 JavaScript & Dynamic Content
For sites relying on early DOM manipulation or client-side frames, the JS2WARC renderer executes content in a sandboxed Netscape Navigator 4.08 / IE 5.5 emulation environment. All network calls are intercepted and logged as separate WARC records.
/verify endpoint before production ingestion.
Metadata & Indexing Schema
Metadata is serialized using a hybrid approach: Dublin Core for interoperability, extended with the internal 1990WAM namespace for era-specific attributes.
{
"@context": "https://schema.org/1990wam",
"@type": "WebArchiveRecord",
"dc:title": "Welcome to My Homepage",
"dc:creator": "[Redacted]",
"dc:date": "1997-08-12",
"1990wam:era": "GeoCities",
"1990wam:techStack": ["HTML3.2", "Table-Layout", "GIF-89a"],
"1990wam:renderingProfile": "netscape-3.0-compat",
"1990wam:fixityStatus": "verified"
}
All index entries are searchable via Elasticsearch 8.x. Faceted navigation supports filtering by era, technology, geolocation, and hosting-provider.
Preservation Integrity & Verification
Bit-level integrity is guaranteed through cryptographic fixity checks. Every WARC file and embedded asset is hashed upon ingestion and verified quarterly.
5.1 Fixity Workflow
- Ingest → Compute
SHA-256block digests - Store → Append to immutable ledger (IPFS + local Cold Storage)
- Verify → Automated cron job compares stored digests against computed values
- Remediate → Trigger re-crawl or fallback copy if mismatch detected
Cryptographic signatures are applied using RSA-4096. Public verification keys are published monthly at keys.1990webarchive.org.
API & Integration Standards
Programmatic access is provided via RESTful endpoints. All requests require Bearer token authentication. Rate limits are enforced at 120 req/min for standard tier, unlimited for institutional partners.
| Endpoint | Method | Description |
|---|---|---|
/v4/archive/search | GET | Full-text & faceted search across indexed records |
/v4/archive/{id}/warc | GET | Stream raw WARC payload |
/v4/archive/{id}/metadata | GET | Retrieve 1990WAM + Dublin Core JSON |
/v4/verify/{digest} | POST | Validate fixity against ledger |
/v4/crawl/submit | POST | Queue custom archival job (auth required) |
curl -X GET "https://api.1990webarchive.org/v4/archive/search?era=geocities&sort=desc" \
-H "Authorization: Bearer <TOKEN>" \
-H "Accept: application/json"
Versioning & Deprecation Policy
All specifications follow Semantic Versioning (MAJOR.MINOR.PATCH). Breaking changes are restricted to major releases. Deprecated endpoints remain operational for a minimum of 18 months post-announcement.
API:
v4.x | WARC Generation: 1.1 | Metadata Schema: 2.4.0Sunset Schedule:
v3.x decommissioned on
Changelogs and RFC drafts are maintained in the public repository. Community proposals follow the RFC-1990 submission template.