Sven Rautenberg: Header

Beitrag lesen

Moin!

Mein gefährliches Halbwissen fragt mich, warum sich der Browser vom Server sagen lassen soll, wann er beim Reload wie zu verfahren hat. Ein Reload bei einem Post-Request beinhaltet doch eben genau das. Die Frage ist doch, macht es denn überhaupt Sinn, es so nicht zu machen?

Ein Reload ist die Wiederholung des Requests, der dazu geführt hat, dass die gerade angezeigte Seite geladen wurde.

Wenn ein POST-Formular abgeschickt wurde, ist die sichtbare Ergebnisseite das Ergebnis dieses POST-Requests. Ein Reload wiederholt diesen POST-Request. Weil aber POST-Requests potentiell dazu benutzt werden, Daten zu manipulieren (das ist deren Aufgabe im HTTP-Universum, andernfalls würde man GET nehmen), fragen die Browser halt nach, ob man den Request wirklich wiederholen will.

Daran ist jeweils nicht wirklich viel schlimmes, und es ist auch keinesfalls ein Bug. Es ist das normale Verhalten (Stand: heute).

Und ich vermute, dass sich daran auch kaum etwas ändern wird, weil die übliche Vorgehensweise dagegen ist, die Ergebnisseite des POST-Requests als Redirect zu formulieren, so dass der Browser direkt danach einen GET-Request auf eine harmlose URL ausführt, die dann problemlos so oft reloaded werden darf, wie man will.

- Sven Rautenberg