Fiktion/Satire, mit geprüftem Normenblech: HTTP 425 Too Early ist echt. RFC 8470 beschreibt Mechanismen für TLS Early Data, auch 0-RTT genannt, und führt unter anderem den Statuscode 425 Too Early ein, damit ein Server eine potenziell wiederholbare, also replay-gefährdete Anfrage nicht voreilig verarbeitet. MDN fasst ihn als Client-Error-Antwort zusammen: Der Server will das Risiko einer wiederholten Anfrage vermeiden. Der Rest riecht nach Blechpresse, nassem Mantel und Maschinenkaffee.
Die Anfrage kam zu früh. Nicht dramatisch früh, nicht mit Sirene, eher so: Sie stand schon im Flur, während der TLS-Handschlag noch seine Jacke suchte. In der einen Hand hielt sie ein Formular, in der anderen diesen Blick von Leuten, die sagen: „Ich war doch schon mal hier.“
Der Server sah durch die Werkstattscheibe, wischte sich ein bisschen Headerstaub von der Kante und sagte: 425. Nicht böse. Nur bestimmt. Zu früh. Der Kaffee ist noch nicht sicher. Die Kasse ist noch nicht wach. Und wenn du jetzt schon etwas auslöst, kann irgendein Dritter später so tun, als wärst du noch einmal hereingekommen. Das ist dann kein Déjà-vu, das ist ein Replay-Angriff mit schlechter Laune.
0-RTT klingt ja erst einmal wie ein Versprechen aus der Abteilung „Zeit sparen, bis niemand mehr weiß, wofür“. Der Client kennt den Server, beide haben sich neulich gesehen, also darf die Anfrage schon losrennen, bevor der neue Handschlag fertig ist. Weniger Runde, weniger Warten, weniger dieses digitale Auf-dem-Flur-Stehen. Schön. Wirklich schön. Bis die Anfrage nicht nur schnell ist, sondern kopierbar.
Und kopierbar ist im Maschinenraum nie nur ein Wort. Eine doppelt gelesene Nachricht ist lästig. Eine doppelt ausgelöste Bestellung ist ein Buchhaltungsabend. Ein doppelt bestätigter Knopf, ach, da fängt die Werkstatt an, alle Schrauben nach Vornamen zu sortieren. RFC 8470 spricht deshalb nüchtern über Replay-Risiken und Gegenmaßnahmen. Die Blechpresse übersetzt: Nicht jedes „schnell mal“ darf sofort an die Kurbel.
425 ist dabei kein beleidigtes Türknallen. Es ist eher der Zettel am Tresen: Bitte noch einmal, aber diesmal nach dem Händedruck. Der Client soll die Anfrage ohne frühe Daten wiederholen. Erst ordentlich begrüßen, dann Werkzeug anfassen. Altmodisch? Vielleicht. Aber manche Altmodischkeit ist nur Sicherheit mit grauem Kittel.
Im Redaktionsflur fragte der Druckerhund, ob man nicht einfach alles verbieten könne, was vor dem Kaffee passiert. Das wäre konsequent, aber dann wäre das Web auch nur noch eine Amtsstube mit Ladebalken. Frühe Daten können Latenz sparen. Man muss nur wissen, welche Türen man ihnen öffnet. Lesen, gucken, vielleicht harmlos. Buchen, löschen, bezahlen: bitte nicht mit nassen Schuhen durch den Seiteneingang.
So blieb am Ende ein kleiner, brauchbarer Satz im Protokoll: Geschwindigkeit ist gut, solange sie nicht zweimal denselben Hebel zieht. Der Server stellte das Schild zurück in die Ecke. Die Anfrage ging noch einmal raus, diesmal nach dem Handschlag. Und der Kaffee, das muss man der Norm lassen, schmeckte dadurch nicht besser. Aber er war wenigstens nur einmal abgebucht.
