HTTP Sec-Purpose Header

Der HTTP-Header Sec-Purpose ist ein Request-Header, der den Zweck einer Navigation anzeigt, insbesondere ob es sich um einen Prefetch-Request handelt. Er wird von der Speculation Rules API gesendet und ermöglicht Servern, Prefetch-Requests speziell zu behandeln oder abzulehnen.

Typ

Request-Header

Syntax

Der Header gibt den Request-Purpose als einfachen String-Wert an.

http
Sec-Purpose: prefetch

Direktiven

Die Direktiven definieren den Zweck der Navigation-Anfrage.

prefetch
Request ist spekulativer Prefetch für mögliche zukünftige Navigation. Browser lädt Ressource vor, Nutzer hat noch nicht geklickt. Server kann Lightweight-Version senden oder Prefetch ablehnen.
(Header absent)
Kein Sec-Purpose Header bedeutet reguläre User-Navigation. Nutzer hat tatsächlich Link geklickt oder URL eingegeben, keine Spekulation.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Sec-Purpose-Header.

Beispiel 1 Prefetch Request via Speculation Rules

http
GET /article/next-page HTTP/1.1
Host: news.example.com
Sec-Purpose: prefetch
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate

Browser macht spekulativen Prefetch basierend auf Speculation Rules, Server kann minimal-HTML ohne Heavy-Assets senden zur Bandbreiten-Schonung.

Beispiel 2 Server lehnt Prefetch ab

http
GET /personalized-dashboard HTTP/1.1
Host: app.example.com
Sec-Purpose: prefetch

HTTP/1.1 503 Service Unavailable
Retry-After: 0

Prefetch not supported for personalized content

Server lehnt Prefetch für personalisierte oder state-ändernde Pages ab, antwortet mit 503 statt vollem Rendering.

Beispiel 3 Optimierter Prefetch Response

http
GET /product/123 HTTP/1.1
Host: shop.example.com
Sec-Purpose: prefetch

HTTP/1.1 200 OK
Content-Type: text/html
Vary: Sec-Purpose

<!DOCTYPE html>
<html>
<!-- Minimal HTML, defer scripts -->
<link rel="preload" href="hero.webp" as="image">
</html>

Server sendet leichtgewichtige Version mit deferred Scripts und preload-Hints, Vary-Header cached Prefetch separat von echten Navigations.

Speculation Prefetch Flow

Sec-Purpose Prefetch Ablauf

Vorteile für die Systemarchitektur

  • Bandwidth Optimization: Server können Prefetch-Requests mit reduzierten Assets beantworten, spart Bandbreite für spekulative Requests
  • State Protection: Personalisierte oder state-ändernde Endpoints können Prefetch ablehnen zur Vermeidung ungewollter Side-Effects
  • Analytics Accuracy: Analytics können Prefetch-Requests von echten Page-Views unterscheiden für korrekte Engagement-Metriken

Spezifikation

Speculation Rules API https://wicg.github.io/nav-speculation/

Weitere Spezifikationen

Sec-Fetch-Dest Header, Speculation-Rules Header