Limit bei GET-Methode
Andreas Roth
- programmiertechnik
0 Tom0 Andreas Braza
hi leute,
ich habe letztens mal gehört, das die variablenübergabe per adresszeile auf eine bestimmte Größe limitiert ist
stimmt das, und wenn ja vieviele Zeichen kann ich übergeben
vielen Dank im Voraus
Andreas
P.S.: habe im Archiv gesucht, konnte aber nichts finden :))
Hallo Andreas
Eine URL darf tehoretisch beliebig lang sein, praktisch sollte sie jedoch nicht mehr als 255 Zeichen betragen.
<cite rfc="2616: HTTP/1.1" chapter="3.2 Uniform Resource Identifiers" >
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).
Note: Servers ought to be cautious about depending on URI lengths
above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.
</cite>
Diese 255 Zeichen gelten übrigens inkl. Protokoll, Host, Pfad, Datei und den Search-String.
Damit bleiben für die Formularwerte bei der GET-Methode in der Regel etwas weniger als 200 Zeichen übrig.
Grüsse
Tom
PS. Der Link zu einem RFC-Archiv: http://sunsite.auc.dk/RFC/index.html
Hallo zusammen,
noch eine Ergaenzung hierzu (weil das Thema neulich im Chat auch schon mal dran war):
der IE5 hat einen Bug, der (egal wie lang die/der URL ist) uebergebene Parameter nach dem 46. Zeichen abschneidet. Naeheres hierzu in der Support-Datenbank von Microsoft unter http://support.microsoft.com/support/kb/articles/Q252/6/09.ASP
Viele Gruesse,
Heiko
ich habe letztens mal gehört, das die variablenübergabe per
adresszeile auf eine bestimmte Größe limitiert ist
stimmt das, und wenn ja vieviele Zeichen kann ich übergeben
Auf dem Server wird die vom Browser uebermittelte URL in Form einer
Betriebssystem-Umgebungsvariablen (wie z. B. PATH o. ae. unter DOS/
Windows) uebergeben. Der fuer derartige Variablen zur Verfuegung
stehende Platz ist meist _sehr_ beschraenkt (z, B 128, 256 oder 1024 Zeichen, je nach Betriebssystem). Wenn Deine URL also zu lang ist,
kann das Betriebssystem des Servers also dementsprechend Probleme
bereiten, da es die vollstaendige URL nicht an das Server-Programm
weitergibt.
Dieses Problem tritt aber nur bei HTTP-GET-Anfragen auf, nicht bei
POST-Anfragen.
Andreas
PS.: Wir war auch so, als haette ich's in SelfX irgendwo schon 'mal
gelesen, hab es aber auch nur woanders wiederfinden koennen ...