Gunther: + (SERVER) HTTP Error 400 'Bad Request'

Hallo Selfgemeinde!

Bitte entschuldigt meine Unwissenheit, aber bei dem folgenden Problem habe ich keine Idee, wie ich es vermeiden/ umgehen kann.

Ich habe auf einer Seite ein Formular, welches sehr viele Input Felder, Checkboxen und Listen-AUswahl-Felder enthält.

Nun wollte ich die entsprechende Auswahl eines Users in einem Cookie speichern. Erstes Problem, welches hierbei auftrat war, dass die serialisierten Formulardaten zu groß (ca. 12.000 Zeichen) waren für ein Cookie.

Deshalb bin ich hingegangen, und habe den String in "Häppchen" à 2.500 Zeichen zerlegt, und diese jeweils in ein separates Cookie schreiben lassen.

Soweit so gut.

Nun habe ich aber das Problem, dass mein Server mir sagt:"Bad Request - Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit."

Gibt es eine Möglichkeit, dieses Problem abzustellen?
Oder welche alternative Methode könnte ich verwenden, um die Daten zu speichern/ erhalten?

Gruß Gunther

  1. Gibt es eine Möglichkeit, dieses Problem abzustellen?
    Oder welche alternative Methode könnte ich verwenden, um die Daten zu speichern/ erhalten?

    Im Cookie eine kleine Benutzerinformation speichern (so wie ursprünglich gedacht beim "Erfinden" der Cookies) und den Rest an Informationen "daran gebunden" [1] in eine Datenbank am Server ;)

    [1] Sessions z.B. - alternativ auch letzter HTTP-User-Agent + letzte IP-Adresse + Cookiewert = Benutzer als Zuordnung verwenden.

    1. Hi suit!

      Oder welche alternative Methode könnte ich verwenden, um die Daten zu speichern/ erhalten?

      Im Cookie eine kleine Benutzerinformation speichern (so wie ursprünglich gedacht beim "Erfinden" der Cookies) und den Rest an Informationen "daran gebunden" [1] in eine Datenbank am Server ;)

      Ja, danke! Du hast ja recht, aber ich wollte mir gerne den Aufwand ersparen ...! Aber wie so oft heißt es wohl "entweder oder".

      Dank & Gruß
      Gunther

  2. Hallo,

    Gibt es eine Möglichkeit, dieses Problem abzustellen?

    Keine.
    (Vielleicht kann man den Webserver umkonfigurieren. Aber wieso sollte man? Das verschiebt das Problem nur und wahrscheinlich würdest du irgendwann einem Client begegnen, der keine 12KB Cookies abspeichern/senden will.)

    Oder welche alternative Methode könnte ich verwenden, um die Daten zu speichern/ erhalten?

    Sessions bzw. eine Benutzerauthentifizierung.
    Jedenfalls keine clientseitige Speicherung in Cookies. Geeigneter wären DOM Storage (siehe auch) und userData im IE < 8. Die sind nicht so begrenzt, aber auch nicht breit unterstützt.

    Überhaupt bezweifle ich, dass es sinnig ist, 12KB Formulardaten speichern zu wollen. Ich vermute, das geht auch knapper, aber dazu müsstest du deinen Fall genauer beschreiben.

    Mathias

    1. Hallo,

      Gibt es eine Möglichkeit, dieses Problem abzustellen?

      Keine.
      (Vielleicht kann man den Webserver umkonfigurieren. Aber wieso sollte man? Das verschiebt das Problem nur und wahrscheinlich würdest du irgendwann einem Client begegnen, der keine 12KB Cookies abspeichern/senden will.)

      Ja, danke! Das habe ich mir schon gedacht (aber nachfragen kostet ja nichts).

      Oder welche alternative Methode könnte ich verwenden, um die Daten zu speichern/ erhalten?

      Sessions bzw. eine Benutzerauthentifizierung.
      Jedenfalls keine clientseitige Speicherung in Cookies. Geeigneter wären DOM Storage (siehe auch) und userData im IE < 8. Die sind nicht so begrenzt, aber auch nicht breit unterstützt.

      Hmmm ..., wieder soviel (Extra-)Aufwand ...!

      Überhaupt bezweifle ich, dass es sinnig ist, 12KB Formulardaten speichern zu wollen. Ich vermute, das geht auch knapper, aber dazu müsstest du deinen Fall genauer beschreiben.

      Wenn du eine bessere Idee hast - immer gerne.
      Es handelt sich um eine sehr spezielle Seite, die im wesentlichen nur der Erweiterung und Auffrischung meiner Kenntnisse dienen soll.
      Falls du mal gucken magst: http://siedler-aek.de/generator/

      Dank & Gruß
      Gunther