Der Kekswagen passt nicht durch die Tür

Satirisches Symbolbild: Eine überfüllte Cookie-Kopfzeile steckt im Türrahmen des Servers fest; darüber steht 431 Request Header Fields Too Large.

Geschrieben von

unter

Fiktion/Satire, mit sauber festgeschraubtem Protokollrand: HTTP 431 Request Header Fields Too Large beschreibt laut RFC 6585 den Fall, dass ein Server eine Anfrage nicht bearbeiten will, weil ihre Header-Felder zu groß sind. Das kann die ganze Kopfzeilen-Fuhre betreffen oder ein einzelnes Feld. MDN nennt als praktische Ausmistübung unter anderem zu viele Cookies. Nun aber zur Redaktion, in der der Request nicht am Inhalt scheiterte, sondern am Gepäck.

Um 9:03 Uhr rollte eine Anfrage vor den Server-Schalter. Vorne hing ein kleiner Zettel: GET /artikel. Hinten aber zog sie einen Anhänger voller Kekse, Referer-Schnüre, Sitzungsmarken, Erinnerungskärtchen und einem sehr beleidigten Trackingkrümel, der behauptete, er sei für die Nutzererfahrung zuständig.

Der Server legte den Stempel ab. Nicht dramatisch. Eher wie jemand, der merkt, dass der Umzugswagen nicht in den Aufzug passt.

„431“, sagte er.

„Aber ich wollte doch nur eine Seite holen“, sagte die Anfrage.

„Dann komm ohne den halben Speicher der Republik wieder“, sagte der Server. „Der Text ist klein. Dein Hut ist groß.“

Wenn die Kopfzeile schwerer ist als die Nachricht

Bei HTTP reisen nicht nur Methode, Pfad und Körper durch die Gegend. Oben im Request sitzen Header: kleine Angaben darüber, was der Client kann, was er schon weiß, woher er kommt, welche Sprache er bevorzugt und welche Kekskrümel er seit drei Monaten im Mantelfutter sammelt. Meist ist das praktisch. Manchmal wird daraus ein Aktenordner mit Beinen.

431 ist der Moment, in dem der Server sagt: Ich kann oder will diese Anfrage so nicht anfassen, weil die Header zu groß geraten sind. Das ist kein Urteil über den Inhalt. Es ist eher ein Brandschutzbeauftragter, der auf die Türbreite zeigt. Die Anfrage darf grundsätzlich wiederkommen, aber bitte mit weniger Kopfgepäck.

Das Schöne an 431 ist seine handwerkliche Ehrlichkeit. Ein stumpfes „400 Bad Request“ wäre die Sammelkiste für alles, was schief riecht. 431 zeigt genauer auf den oberen Teil des Formulars: Nicht der Brief ist zu schwer, der Briefkopf ist es. Wenn nur ein Header-Feld schuld ist, soll die Antwort nach RFC-Geschmack sogar erklären, welches Feld zu groß war. Die Werkstatt liebt Etiketten. Ohne Etiketten muss später wieder jemand mit Taschenlampe in den Paketwagen klettern.

Der Cookie schiebt den Aktenschrank

In der Blechpresse-Werkstatt sind Cookies kleine runde Verwaltungsakten. Einer merkt sich die Sitzung, einer die Zustimmung, einer das Farbschema, einer steht nur herum und sagt „Analytics“, obwohl ihn niemand gefragt hat. Jeder einzeln wirkt harmlos. Zusammen können sie den Request-Kopf so anschwellen lassen, dass der Server nicht mehr die Nachricht sieht, sondern nur noch eine Krümelwand.

MDN weist deshalb nüchtern darauf hin: Manchmal hilft es, die Header zu verkleinern, etwa durch das Löschen von Cookies. In Maschinensprache heißt das: Bitte nicht mit dem kompletten Schrankinhalt zum Pförtner gehen, wenn du nur wissen willst, ob das Büro offen ist.

Außerdem darf eine 431-Antwort laut RFC 6585 nicht im Cache eingelagert werden. Auch das ist vernünftig. Ein überfüllter Kopf ist oft ein Zustand des Augenblicks. Wer daraus Vorratsbürokratie macht, konserviert bloß das Knirschen und wundert sich später, warum die Tür immer noch klemmt.

Die Anfrage fuhr zurück, kippte drei alte Kampagnenkekse, zwei tote Sitzungsmarken und einen „wir verbessern dein Erlebnis“-Krümel in den Blechmüll. Dann kam sie wieder. Diesmal passte der Kopf durch die Tür. Der Server nickte, stempelte und murmelte: „So schlank muss niemand leben. Aber so kommt man wenigstens rein.“