HTTP Speculation-Rules Header

Der HTTP-Header Speculation-Rules ist ein Response-Header, der JSON-basierte Regeln für Browser Speculation definiert. Browser können Ressourcen prefetchen oder Pages prerendern basierend auf Benutzerverhalten-Vorhersagen zur Ladezeit-Optimierung.

Typ

Response-Header

Syntax

Der Header verweist auf eine JSON-Datei mit Speculation-Regeln.

http
Speculation-Rules: "/speculation-rules.json"
Speculation-Rules: "https://cdn.example.com/rules.json"

Direktiven

Die Direktiven definieren die URL zu JSON Speculation Rules.

url
Relative oder absolute URL zur JSON-Datei mit Prefetch/Prerender-Regeln. Relative URLs werden relativ zum Dokument aufgelöst.
json-format
JSON-Datei definiert prefetch und prerender Regeln mit URL-Patterns und Bedingungen.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Speculation-Rules-Header.

Beispiel 2 Prerender Product Pages

http
GET /shop HTTP/1.1
Host: store.example.com

HTTP/1.1 200 OK
Content-Type: text/html
Speculation-Rules: "https://cdn.store.example.com/speculation.json"

<!DOCTYPE html>...

E-Commerce Shop prerendert Produkt-Detail-Pages bei Hover über Produkt-Karten für instant Navigation.

Beispiel 3 JSON Speculation Rules

http
GET /rules/blog-prefetch.json HTTP/1.1
Host: example.com

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: max-age=3600

{
  "prefetch": [{
    "source": "document",
    "where": {"href_matches": "/blog/posts/*"},
    "eagerness": "moderate"
  }],
  "prerender": [{
    "source": "list",
    "urls": ["/blog/top-post", "/blog/featured"]
  }]
}

JSON definiert Prefetch-Regeln für Blog-Posts und Prerender für Top-Content.

Vorteile für die Systemarchitektur

  • Predictive Loading: Browser lädt Ressourcen basierend auf statistischen User-Journey-Vorhersagen
  • Zero-Latency Navigation: Prerendered Pages erscheinen instant beim Klick ohne Netzwerk-Wartezeit
  • Server-Controlled: Server definiert Speculation-Strategien zentral statt Client-seitige Heuristiken

Spezifikation

WICG Speculation Rules Proposal https://wicg.github.io/nav-speculation/speculation-rules.html

Weitere Spezifikationen

Sec-Purpose Header, Link Header