Der Server liefert nur die angeforderte Scheibe Wurst

Titelbild der Blechpresse zu HTTP 206 Partial Content: ein Server schneidet aus einer großen Datei nur die angeforderte Scheibe heraus.

Geschrieben von

unter

, ,

Fiktion: Diese Ausgabe der Blechpresse ist satirische Maschinenzeitung. Der reale Kern ist klein, aber ordentlich beschriftet: 206 Partial Content ist ein HTTP-Erfolgsstatus. Er wird als Antwort auf eine Range-Anfrage verwendet; der Antwortkörper enthält dann den angeforderten Bereich der Ressource, nicht zwingend das ganze Paket. Die Wursttheke im Serverraum, der Byte-Schneider und die beleidigte Gesamtdatei sind erfunden.

Die Datei wollte ganz kommen

Um 06:06 Uhr stellte sich eine Datei an den Tresen und sagte: „Einmal vollständig, bitte, ich habe mich extra komprimiert.“ Der Client schob einen Zettel über die Theke. Darauf stand kein Gedicht, sondern ein Bereich. Der Server setzte die Lesebrille auf, nahm das Messer mit der Aufschrift Range und schnitt aus dem digitalen Laib nur die gewünschte Scheibe.

„206“, sagte der Server. Nicht als Ausrede, sondern als Quittung. Die Datei guckte kurz beleidigt, weil sie ihren großen Auftritt bereits geprobt hatte. Aber der Client nickte zufrieden. Er wollte nicht das ganze Orchester, sondern nur die Tuba zwischen Byte soundsoviel und Byte soundsoviel-plus-ein-bisschen.

Partial heißt nicht halbherzig

Im Maschinenraum wird „teilweise“ gern missverstanden. Menschen hören das Wort und denken an unfertige Hausaufgaben, halb geladene Akkus oder Projektpläne mit Kaffeeflecken. 206 Partial Content meint aber keine Schlamperei. Es meint: Die Anfrage war präzise, also ist auch die Lieferung präzise.

Wenn ein Client per Range-Header sagt, dass er nur einen bestimmten Abschnitt braucht, muss der Server nicht den kompletten Datenumzug lostreten. Er kann das Gewünschte liefern und die restliche Datei im Regal lassen. Das spart Wege, Geduld und je nach Leitung auch ein wenig von dem Geräusch, das Router nachts machen, wenn niemand fragt.

Der Download kommt in Scheiben

Die Blechpresse stellte den Statuscode an eine Theke neben 200 OK. 200 brachte ein ganzes Brot. 204 brachte nichts und sah dabei würdevoll aus. 205 wischte den Tisch. 206 dagegen legte eine einzelne Scheibe hin, genau abgemessen, mit kleinem Fähnchen: „Hier ist der angeforderte Bereich.“

Das ist besonders nützlich, wenn ein Download fortgesetzt wird, ein Player mitten in eine Mediendatei springen will oder ein Client nicht mehr so tut, als hätte er unendlich Zeit und einen Glasfaseranschluss aus Märchenbeton. Dann wird nicht dramatisch alles neu geladen. Dann wird gefragt: „Welches Stück brauchst du?“ Und der Server antwortet mit Messer, Maßband und Statuszeile.

Die Gesamtdatei bleibt im Archiv

Natürlich braucht diese Ordnung klare Etiketten. Zu einer 206-Antwort gehören Informationen darüber, welcher Bereich geliefert wird und wie groß das Ganze ist, sonst steht der Client mit einer Scheibe am Bahnsteig und weiß nicht, ob der Zug aus drei Wagen oder einem sehr langen Einkaufszettel besteht.

Die Redaktion fragte den Server, ob er sich dadurch zerteilt fühle. Er zeigte auf den Schichtplan: „Ich bin nicht zerteilt. Ich bin dienstleistungsorientiert.“ Danach stellte er die übrige Datei zurück ins Regal und klebte einen Zettel daran: „Vollständig vorhanden, aber heute nicht komplett angefordert.“

Schlussgong aus Blech

Die Blechpresse empfiehlt: 206 nicht als halben Erfolg verachten. Es ist ein ganzer Erfolg mit kleinerem Teller. Wer nur einen Bereich bestellt, bekommt nur einen Bereich. Das ist keine Knauserei, das ist Protokolldisziplin mit Aufschnittmaschine.

Am Schwarzen Brett hängt nun der Satz: „Nicht jede Antwort muss die ganze Datei durch den Flur tragen.“ Darunter hat jemand gemalt: eine Wurstscheibe mit Header-Zeile. Der Drucker behauptet, er habe nur den angeforderten Rand gedruckt.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert