Zusammenfassung

  • HTTP 103 übermittelt Felder, die voraussichtlich in der endgültigen Antwort erscheinen. Ein Browser kann dadurch einen Preload beginnen; die frühen Felder ersetzen aber weder die finalen Felder noch deren Verarbeitung.
  • Herkunft oder Cache dürfen eine Vermutung äußern. Der Client genehmigt den Aufwand, die endgültige Antwort entscheidet über die Navigation, und die Zielressource muss ihre Verwendbarkeit weiterhin selbst belegen.

Die Navigation trifft am Rand ein. Das Seitengerüst ist bekannt, doch erst eine Datenbankabfrage zeigt, ob der Nutzer die Anwendung, eine Anmeldung oder einen Fehler erhält. Im Cache liegt noch ein älteres Link-Feld für shell.css. Warten kostet Zeit. Früh beginnen kann einen Umlauf sparen oder unnötige Bytes an eine Seite senden, die nie entsteht.

RFC 8297 macht aus diesem Konflikt keine vorgezogene Wahrheit. Der Server kann 103 Early Hints mit einigen erwarteten Feldern senden, danach weiterarbeiten und schließlich die eigentliche Antwort liefern. Erkennt der Client rel=preload, kann er das Ziel spekulativ abrufen.

Der Name ist die Grenze. Ein Hint beschreibt Wahrscheinlichkeit. Er bestätigt weder Erfolg noch spätere Nutzung und verpflichtet den Client zu nichts. Frühere Information erhält einen Weg, aber keine höhere Autorität.

Vorläufige Nachricht, endgültige Semantik

RFC 9110 ordnet 103 den informationellen 1xx-Antworten zu. Auf eine Anfrage können mehrere Zwischenantworten und danach eine endgültige Antwort folgen. Eine 1xx endet mit dem Header-Abschnitt und hat keinen Inhalt. Ein User Agent darf eine unerwartete Zwischenantwort ignorieren.

RFC 8297 trennt Optimierung und Bedeutung ausdrücklich. Der Client darf frühe Felder auswerten, doch außerhalb der Performance darf das die Verarbeitung der finalen Antwort nicht verändern. Ein späteres 302 bleibt eine Umleitung, ein 404 bleibt ein Fehlschlag.

Auch fehlende Felder besitzen keine Aussagekraft. Der Server darf nur den Teil nennen, den er bereits kennt. Was in 103 fehlt, kann im Endergebnis erscheinen. Mehrere 103 dürfen neue Kandidaten hinzufügen, und das Finale darf einen erwarteten Link austauschen.

Diese Abweichung ist kein Verstoß. Ohne sie müsste der Server bis zur Gewissheit warten und der Hinweis verlöre seinen Zweck.

Vier Zuständigkeiten auf derselben Verbindung

Die Herkunft besitzt Status und Felder der finalen Antwort. Sie kann vorab informieren, bleibt aber für das Ganze verantwortlich. Auch ein Cache-Intermediär kann 103 erzeugen. RFC 8297 nennt ausdrücklich ein Beispiel, in dem alte Antwortfelder während der Revalidierung als Hint dienen und anschließend die Nachrichten der Herkunft weitergereicht werden.

Der Browser besitzt die Spekulation. Er kann ignorieren, aus dem Cache bedienen, ein Budget anwenden, die Arbeit nachrangig planen oder nach einer Umleitung verwerfen. Ein Link ist kein Zugriff auf den lokalen Scheduler.

Die finale Antwort besitzt das Navigationsergebnis. Danach hat die Ressource ein eigenes Ergebnis: DNS, Verbindung, TLS, Credentials, Status, Medientyp, Integrität und Cache-Regeln bestimmen, ob ein brauchbares Objekt vorliegt.

RFC 8288 beschreibt einen Link als Kontext, Relation, Ziel und Attribute. Diese Beziehung authentisiert das Ziel nicht und garantiert keinen erfolgreichen Abruf.

Der Web-Client verengt den Spielraum

Der HTML-Standard verarbeitet Early Hints bei Navigationen. Der aktuelle Algorithmus berücksichtigt die erste frühe Antwort und verwirft sie, wenn später eine ursprungsübergreifende Umleitung folgt.

In dieser Phase werden nur bestimmte Preload-Attribute behandelt: as, crossorigin, integrity und type. Andere benötigen ein bereits erzeugtes Document. Frühe Links werden zeitlich vor finalen Links und Dokumentelementen verarbeitet, aber Reihenfolge ist keine Wahrheitshierarchie.

Eine frühe Content Security Policy kann die spekulative Anfrage begrenzen. Die finale Richtlinie kann strenger sein und verhindern, dass das Document eine bereits geladene Antwort nutzt. Netzwerkaufwand schafft keine Nutzungsberechtigung.

Der Fetch-Standard behält diese Ordnung: 103 löst die frühe Verarbeitung aus, anschließend wartet der Ablauf weiter auf die endgültige Antwort.

Der Cache liefert Erfahrung, nicht Gegenwart

Ein altes Link-Feld kann eine hervorragende Prognose sein, wenn das Seitengerüst stabil ist. Nach Deployment, Personalisierung oder Umleitung kann es falsch sein. Seine Herkunft muss deshalb sichtbar bleiben.

Metriken sollten Anwendung, Edge-Regel und veraltete Cache-Metadaten unterscheiden. Frühe und finale Feldsätze sind getrennte Belege. Geben mehrere Schichten Hinweise aus, müssen Dopplungen und Widersprüche erhalten bleiben. „Der Server hat vorgeladen“ ist sonst eine falsche Vereinfachung.

Die schnelle Schicht prognostiziert. Der Client bewertet die Kosten. Die Herkunft schließt die Antwort ab. Keine dieser Rollen erbt automatisch die nächste.

Vorläufige Aussage, bleibender Aufwand

Ein unnützer Preload kann DNS, Verbindung, Funkenergie, Staukontrolle und Origin-Kapazität beanspruchen. Bei einem fremden Ursprung offenbart er zudem Interesse, bevor die Navigation feststeht. Eine spätere Umleitung kann diese Kosten nicht zurücknehmen.

Darum zählt nicht die Anzahl der 103, sondern wiederverwendete frühe Arbeit. Verknüpft werden müssen Hint-Empfang, vorgezogener Start, Cache- oder Netzantwort, Abgleich mit dem Finale, Policy-Prüfung und tatsächlicher Verbrauch durch das Document. Latenzgewinn gehört neben ungenutzte Bytes und Verbindungen.

Auch Kompatibilität ist Messsache. RFC 8297 warnt, dass ein HTTP/1.1-Client, der 103 als final missversteht, spätere Nachrichten auf einer persistenten Verbindung falsch rahmen und ursprungsübergreifende Daten offenlegen kann. Der Server kann 103 unter HTTP/1.1 vermeiden, wenn er den Client nicht kennt. HTTP/2 reduziert dieses konkrete Framing-Risiko, macht aber einen falschen Hint nicht richtig.

Das IANA-Register ordnet Code 103 eindeutig Early Hints zu. Es belegt keine Weiterleitung, Browseraktion, Wiederverwendung oder Nutzerverbesserung.

Lu Hengs Minimum Initial Specification und lokale Zukunftsentscheidung passen zu diesem dünnen Signal. Gemeinsam ist nur: Diese Felder sind vorläufig, eine Endantwort folgt. Die Entscheidung über Adoption und Ressourcen bleibt beim laufenden Teilnehmer. Running-Code-Primat verlangt dann Drahtbeleg, Client-Aktion und Ergebnis.

Der wichtigste Rückrolltest lautet: Ohne 103 muss die Seite vollständig und korrekt bleiben. Sonst ist aus einer optionalen Beschleunigung eine heimliche Autorität geworden.