Alex: Weiterleitung, welche Statuscodes?

Hallo!

Ich möchte eine Weiterleitung in Form von header(Location:...) benutzen. Nun meine Frage, ob und wenn ja welche Statuscodes vorher ausgegeben werden sollen. Ich meine mal gelesen zu haben, dass man dadurch bestimmen kann, ob der Aufruf dann per Post oder Get erfolgt.
Wenn ich per Statuscode bestimme, dass er per Post erfolgt, wird dann beim Zurückspringen diese Browser-Meldung angezeigt oder kann man die auch unter Verwendung von Post abstellen?
Welcher Code ist für Post, welcher für Get zu verwenden?
Ist die Verwendung notwendig?

Danke.
Alex

  1. Hallo Alex,

    Ich möchte eine Weiterleitung in Form von header(Location:...) benutzen. Nun meine Frage, ob und wenn ja welche Statuscodes vorher ausgegeben werden sollen. Ich meine mal gelesen zu haben, dass man dadurch bestimmen kann, ob der Aufruf dann per Post oder Get erfolgt.

    Da hast du dich entweder verlesen oder die Quelle aus der du das hast, macht falsche Angaben. Von einer derartigen Möglichkeit habe ich noch nie etwas gehört.

    Schöne Grüße,

    Johannes

  2. Hello,

    schau Dir mal http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html an.

    Ich konnte nichts finden von "switch method" o.ä.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

  3. Hallo Alex,

    Ich möchte eine Weiterleitung in Form von header(Location:...) benutzen. Nun meine Frage, ob und wenn ja welche Statuscodes vorher ausgegeben werden sollen. Ich meine mal gelesen zu haben, dass man dadurch bestimmen kann, ob der Aufruf dann per Post oder Get erfolgt.

    Ich glaube, dass du da eine Kleinigkeit verwechselt hast. Es gibt den Status-Code 303 (siehe http://de.selfhtml.org/servercgi/server/httpstatuscodes.htm#uebersicht), mit dem man den Browser von einer Ressource, auf die mit POST zugegriffen wurde, auf eine andere umlenken kann, auf die dann mit GET zugegriffen werden soll.

    Viele Grüße
      Patrick Canterino

    --
    "Dummheit ist keine Schande. Hauptsache man hält den Mund dabei." (Werner Mitsch)
    1. Ich glaube, dass du da eine Kleinigkeit verwechselt hast. Es gibt den Status-Code 303 (siehe http://de.selfhtml.org/servercgi/server/httpstatuscodes.htm#uebersicht), mit dem man den Browser von einer Ressource, auf die mit POST zugegriffen wurde, auf eine andere umlenken kann, auf die dann mit GET zugegriffen werden soll.

      Ah, das war das! Danke euch für die Antworten. Das heißt, ich kann die Angabe getrost weglassen, wenn per Get gesendet und genauso weitergeleitet werden soll?
      Könnte ich durch diesen Code denn die Meldung des Browsers beim Zurückspringen (wegen der Post-Daten) bei Verwendung von Post verhindern?

      Alex

      1. Moin,

        Könnte ich durch diesen Code denn die Meldung des Browsers beim Zurückspringen (wegen der Post-Daten) bei Verwendung von Post verhindern?

        Ja.

        Tschau,
        Martin

        1. Hallo Martin,

          zumindest unter Firefox erscheint die Meldung trotz der Verwendung des Statuscodes!?

          Alex

          1. zumindest unter Firefox erscheint die Meldung trotz der Verwendung des Statuscodes!?

            Ich muss mich korrigieren: Die Verwendung des Statuscodes 303 verhindert die Meldung, aber nur dann, wenn danach eine Weiterleitung erfolgt. Kann ich die Meldung auch verhindern, wenn keine Weiterleitung erfolgt?

            Beispiel:
            Ein Formular, das bei falscher Eingabe eine Fehlermeldung und das Formular noch einmal ausgibt. Angenommen, der Benutzer macht wieder eine falsche Eingabe, die Fehlermeldung mit Formular erscheint, und er betätigt dann den Zurück-Button. Es erscheint die Meldung. Wie kann ich auch in diesem Fall die Meldung verhindern?

            Alex

            1. Moin,

              zumindest unter Firefox erscheint die Meldung trotz der Verwendung des Statuscodes!?

              Ich muss mich korrigieren: Die Verwendung des Statuscodes 303 verhindert die Meldung, aber nur dann, wenn danach eine Weiterleitung erfolgt. Kann ich die Meldung auch verhindern, wenn keine Weiterleitung erfolgt?

              Hm? Der Status 303 ist für Weiterleitungen.

              Beispiel:
              Ein Formular, das bei falscher Eingabe eine Fehlermeldung und das Formular noch einmal ausgibt. Angenommen, der Benutzer macht wieder eine falsche Eingabe, die Fehlermeldung mit Formular erscheint, und er betätigt dann den Zurück-Button. Es erscheint die Meldung. Wie kann ich auch in diesem Fall die Meldung verhindern?

              Wenn du meinst, es ist nötig (der Benutzer könnte ja auch im neuen Formular die Daten ändern), könntest du im Fehlerfall auf das Skript verweisen, das das Formular erneut ausgibt und die Werte aus den GET-Parametern übernimmt. Hierfür müsstest du dann alle POST-Variablen in der Weiterleitung an die URL anhängen. Beachte dabei jedoch, dass GET-Requests keine Aktionen wie z. B. die Manipulation eines Datensatzes auslösen sollte, speichern solltest du also nur dann, wenn der Zugriff über POST erfolgte. So wie bisher halt auch.

              Tschau,
              Martin