Zitat:
Zitat von netspy
Zitat:
Zitat von ollo
Die Frage ist, enspricht das der Spezifikation? Dass man die Clientseitig immer ungehen kann ist ja klar, aber ich würde gerne wissen ob er (theoretisch) nicht tun darf.
|
Ja, das entspricht den Spezifikationen, da ein Client einer Weiterleitung zwar folgen sollte, es aber nicht muss.
Siehe bspw. 302 Move:
Zitat:
Zitat von RFC 2616
If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.
|
|
Oh Gott das ist ja noch schlimmer... 'must not' bedeutet ja 'darf nicht', also verhalten sich alle aktuellen Browser sogar falsch!
Immerhin wird die URL, auf die weitergeleitet werden sollte beim Opera angezeigt. Das lässt mir etwas Luft, ist aber dennoch, ähm, suboptimal. :)
Ich benutze nämlich momentan noch andauernd den Location-Header, um bei Aktionen die selbst keine Ausgabe erzeugen (Formularverarbeitung größtenteils) auf die passende Seite weiterzuleiten... Jetzt muss ich mir was anderes überlegen... :-/
Wobei, moment mal, da steht ja 'request OTHER THAN GET or HEAD'!!!
Muss mir denn doch mal den RFC genau durchlesen... :)
AHA! PHP sendet per default bei 'Location:' den 302, passender wäre aber ein 303, der eigentlich genau für die Situation bei mir passt. Der darf dann auch nicht gecachet werden und wird auch nicht als Substitute angesehen. Sehr gut, muss ich also nur alle header('Location: ...') veranlassen den 303 mitzusenden.
Das ist nicht weiter schlimm, da ich die eh nochmal fast alle überarbeiten muss, weil ich meistens keinen absoluten Pfad sende.
Zitat:
Zitat:
Zitat von ollo
Wo ist eigentlich die Einstellung beim Opera, hab auf die Schnelle nicht gefunden, Opera 7.23...
|
Tools -> Preferences -> Network -> Privacy -> Enable automatic redirection
|
Ah, überlesen obwohl's an Prominenter Stelle steht... :)