Christian Seiler: |(HTTP)|(BROWSER) POST-Formulare und Navigierbarkeit

Beitrag lesen

Hallo,

RFC 1945 und RFC 2068 haben an sich verboten, dass bei einer Weiterleitung die Methode geändert wird. Es ist auch nicht logisch, das zu tun, da die Resource ja offensichtlich an einer anderen Stelle zu finden ist und dort angefragt werden muss bzw. die Daten dorthin geschickt werden müssen. Darüber haben sich allerdings viele Implementationen hinweggesetzt und verhalten sich, wie du es beschreibst. In RFC 2616 wurde speziell für diesen Zweck die Stati 303 und 307 eingeführt, das kannst du in Abschnitt 10.3.3 auch so nachlesen.

Hmmm - dann wäre also Status 303 die logische Antwort auf mein Problem.

Dort findest du auch den Hinweis:

Note: Many pre-HTTP/1.1 user agents do not understand the 303
      status. When interoperability with such clients is a concern, the
      302 status code may be used instead, since most user agents react
      to a 302 response as described here for 303.

Gäbe es denn eine Möglichkeit den 303-"Support" zu testen? Vielleicht nur dann verwenden, wenn der Client über HTTP/1.1 den Request abgesetzt hat?

  1. Gibt es bei dieser Methode noch weitere Nachteile?

Schon, das Verhalten der Benutzeragenten ist ja nicht unabsichtlich und du setzt dich darüber hinweg.

Die Benutzeragenten verhalten sich ja so, "wie ich es will"; es geht hier ja um den Standard, über den ich mich hinwegsetze (wenn ich 200+Location verwende)

Das hat ggf. Nachteile für den Anwender.

Die wären konkret?

Grüße,

Christian