Http Status Code 413 und die Browser

Wieder mal stundenlang gejagt und bei der Lösung in lautes Fluchen ausgebrochen. Das Szenario: Ein Webserver mit Apache, welcher mit einem LimitRequestBody von 10MB konfiguriert ist. Das sorgt dafür, dass der Apache z.B. den Upload einer Datei von 11MB mit dem Http Status Code 413 (Request Entity Too Large) ablehnt.

Schön und gut. Im lokalen Entwicklungsnetz klappt das auch alles ganz wunderbar und alle Browser zeigen das vom Apache beigefügte ErrorDocument auch brav an. Die Webanwendung im Browser kann das dann auswerten (z.B. im Title-Tag nach 413 suchen) und dem Nutzer mitteilen, dass er leider, leider das Upload-Limit ignoriert habe.

In der realen Welt klappt das dann nun gar nicht: Sobald der Server im bösen Internet ist, passiert folgendes: Die Browser (mit der löblichen Ausnahme von Opera) laden und laden und laden – und behaupten dann schlussendlich, dass der Server nicht erreichbar wäre (Internet Explorer, Firefox, Safari – alles dasselbe). Was passiert da? Ganz einfach: Die Browser senden ein erstes TCP-Paket, in welchem steht, dass sie 11MB hochzuladen gedenken. Der Server antwortet augenblicklich mit HTTP Status Code 413. Opera macht es als einziger richtig und bricht den Upload augenblicklich ab. Alle anderen Browser ignorieren dies völlig und senden fröhlich die gesamte Datei an den Server.

Was dann passiert, kann ich nur vermuten: Erst nachdem sie die Datei komplett an den Server gesendet haben, scheinen sie nachzuschauen, was denn eigentlich vom Server zurückgekommen ist. Ging der Upload schnell genug, bemerken sie die zunächst ignorierte Antwort offenbar doch noch und geben das beigefügte ErrorDocument aus. Dauerte der Upload etwas zu lange (vielleicht länger als die TTL der Antwort?), meinen sie, das der Server nun gar nicht reagiert hätte und behaupten „Server nicht erreichbar“.

Na toll.

Obama

Es macht mich stolz auf das Land, dem ich mein Studium am John F. Kennedy Institut gewidmet habe. Wie so viele, hatte ich nicht zu hoffen gewagt, dass er es trotz der Farbe seiner Haut schaffen könnte – und die bei Afro-Amerikanern erzielten 95% Prozent schienen zunächst diese Befürchtung zu bestätigen: Natürlich spielt die Hautfarbe eine Rolle in Amerika.

Aber es ging gar nicht mehr um WASPs contra Afro-Amerikaner, oder Republikaner gegen Demokraten, sondern um Altes und Bekanntes und Etabliertes gegen Neues und Frisches, es ging um „Bitte nicht so weiter wie bisher“. Es ging um Hilary Clinton und John McCain gegen einen 47 Jahre alten Neuling, der vorher weder Gouverneur eines Staates, noch ein langjähriger Senator, noch überhaupt grosse Erfahrung in Washington hatte.

Möglicherweise wird dies als der wichtigste Beitrag von George Dubya Bush in die Geschichte eingehen: Der – vorsichtig gesagt – problematischste Präsident der Vereinigten Staaten führte Amerika derart tief in die Sackgasse des Neokonservativen Weltbildes, dass im Erschrecken über die Konsequenzen dann auch die Hautfarbe der Kandidaten keine entscheidende Rolle mehr spielen konnte.

Und dies ist genau das Beeindruckende: Zum ersten Mal in der amerikanischen Geschichte trat die Hautfarbe der Präsidentschaftskanditaten in den Hintergund. Ein grosser, hoffnungsvoller Moment.

Bin mal gespannt, was die Neocons als nächstes machen…