Peter: Get Post Anzahl Zeichen

Hallo,

bisher dachte ich eine Get-Anfrage erlaubt nur maximal 255 Zeichen.

Nun stehe ich vor dem Problem einige Contents auf verschiednen Servern zu synchronisieren. Also dachte ich mir File wird erzeugt und mit fopen oder ähnlichem übertrage ich das ganze parralel auch als Get-Parameter zu den anderen Servern.

Da fiel mir jedoch die Limitierung auf 255 Zeichen wieder ein. Nun wollte ich schon das ganze in Post-anweisungen umstricken, da kam mir ein Gedanke...

Kann es sein, dass es diese Limitierung gar nicht gibt, lediglich Browserabhängig ist?
Zumindest ein wenig Recherche zu diesem Thema lässt das vermuten.

Bedeutet das dann auch, dass ein Server keinen Unterschied zwischen Post und Get macht?

Am Rande erwähnt...
Kurios, wenn schon die Browser dieses Limit einhalten, Googles Quelltext dazu:
<input maxlength=2048 name=q size=55 title="Google-Suche" value="">

2048 über GET?

Peter

  1. Bedeutet das dann auch, dass ein Server keinen Unterschied zwischen Post und Get macht?

    Er macht einen Unterschied zwischen Messagehead und Messagebody.
    Er wird dir kaum erlauben 1MB Querystring ins logfile zu schreiben, sondern schneidet ganz einfach irgendwo ab.

    Am Rande erwähnt...
    Kurios, wenn schon die Browser dieses Limit einhalten, Googles Quelltext dazu:
    <input maxlength=2048 name=q size=55 title="Google-Suche" value="">
    2048 über GET?

    Die Angabe maxlength hat zunächst einmal gar nichts damit zu tun, wieviele Zeichen übertragen werden können, sondern wieviele zeichen in ein Feld vom user eingetragen werden können, wenn er einen sich am HTML Standard orientierenden browser verwendet.
    Formulardaten werden zudem noch encoded und blähen sich zusätzlich auf.

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
  2. Hi,

    Bedeutet das dann auch, dass ein Server keinen Unterschied zwischen Post und Get macht?

    nein, das stimmt nicht. Die Get-Parameter stehen direkt in den Environment-Variablen. Die Put-Parameter kommen über den Standarteingabe-Kanal.

    Ciao, Stefanie

  3. Zufällig eben entdeckt:

    "Es herrscht hierbei immer noch der Irrglaube, dass mit der GET-Methode nur 255 bzw. 1024 Bytes verarbeitet werden können. Dies wird aber vom Webserver vorgegeben und beträgt mindestens 255 Bytes bis zu 8192 Bytes."

    Quelle:http://openbook.galileocomputing.de/c_von_a_bis_z/c_026_010.htm

    1. "Es herrscht hierbei immer noch der Irrglaube, dass mit der GET-Methode nur 255 bzw. 1024 Bytes verarbeitet werden können. Dies wird aber vom Webserver vorgegeben und beträgt mindestens 255 Bytes bis zu 8192 Bytes."

      Quelle:http://openbook.galileocomputing.de/c_von_a_bis_z/c_026_010.htm

      schlechte quelle tät ich mal sagen - denn was da steht ist schlichtweg falsch

      rfc 2616 sagt in abschnitt 3.2.1 general syntax folgendes:

      The HTTP protocol does not place any a priori limit on the length of
         a URI. Servers MUST be able to handle the URI of any resource they
         serve, and SHOULD be able to handle URIs of unbounded length if they
         provide GET-based forms that could generate such URIs. A server
         SHOULD return 414 (Request-URI Too Long) status if a URI is longer
         than the server can handle (see section 10.4.15).

      8192 zeichen pro http-header-feld trafen beim apache zu (ich find grade den abschnitt in der doku nicht wo das steht, aber da bin ich mir sicher dass das so ist bzw mal war - kann sein, dass es mittlerweile mehr ist)

      beim iis ist es ein hardlimit von 65534 zeichen welches auch per default so gesetzt ist

      zudem der webserver kann schön und gut requests mit unbegrenzter länge verarbeiten, wenn der browser nicht mitspielt

      bis einschließlich ie7 gibts dort ein limit von 2083 zeichen für urls - bei get- und post-anfragen ist das ganze auf 2.048 zeichen beschränkt (abzüglich dem pfad bzw dem restlichen url) - bei anderen aktuellen browsern sind mir keine derartigen limits bekannt bzw sind äusserst absurd hoch