Maximale länge der URL
Christian
- browser
Hallo, ich habe gerade im www nach der max. länge einer URL gesucht. Dort wurde ich zwar mehrmals fündug habe aber keine einheitliche Angaben gefunden.
Wie es scheint ist die max. URL vom Browser und dessen Version abhängig.
Einen Richtwert, den ich gefunden habe sind 255 Zeichen aber anscheinend kann sie auch mit manchen Browsern 4KB gross sein.
(Bericht von 1998)
Meine Frage ist nun ab welcher Version von MSIE,Netscape und Opera kann ich mehr als 255 Zeichen einsetzen und macht das überhaupt Sinn?
Hi,
ich habe gerade im www nach der max. länge einer URL gesucht. Dort wurde ich zwar mehrmals fündug habe aber keine einheitliche Angaben gefunden.
Theoretisch unbegrenzt.
Wie es scheint ist die max. URL vom Browser und dessen Version abhängig.
Nicht nur. Auch der Webserver kann limitierend wirken.
Einen Richtwert, den ich gefunden habe sind 255 Zeichen aber anscheinend kann sie auch mit manchen Browsern 4KB gross sein.
(Bericht von 1998)
Also auf die 4K würd ich mich nicht verlassen.
Meine Frage ist nun ab welcher Version von MSIE,Netscape und Opera kann ich mehr als 255 Zeichen einsetzen und macht das überhaupt Sinn?
Nein. Für große Datenmengen ist es sinnvoller, mit POST zu arbeiten, wo die Daten nicht über die URL, sondern im http-body transportiert werden.
Dort ist die Menge in der Praxis ausreichend (mehrere MB haben alle gängigen Browser und Webserver verkraftet).
Andreas
Nein. Für große Datenmengen ist es sinnvoller, mit POST zu arbeiten, wo die Daten nicht über die URL, sondern im http-body transportiert werden.
Dort ist die Menge in der Praxis ausreichend (mehrere MB haben alle gängigen Browser und Webserver verkraftet).
Mein Problem ist allerdings das ich die Daten mit JavaScript aus einem Cookie auslesen will und dann an PHP weiter zum verarbeiten senden will und das ohne einen Klick vom User.
Ist das möglich ein Formular automatisch abzusenden?
Mein Problem ist allerdings das ich die Daten mit JavaScript aus einem Cookie auslesen will und dann an PHP weiter zum verarbeiten senden will und das ohne einen Klick vom User.
Ist das möglich ein Formular automatisch abzusenden?
submit()
Mein Problem ist allerdings das ich die Daten mit JavaScript aus einem Cookie auslesen will und dann an PHP weiter zum verarbeiten senden will und das ohne einen Klick vom User.
Ist das möglich ein Formular automatisch abzusenden?
submit()
Danke!
Moin!
Nein. Für große Datenmengen ist es sinnvoller, mit POST zu arbeiten, wo die Daten nicht über die URL, sondern im http-body transportiert werden.
Dort ist die Menge in der Praxis ausreichend (mehrere MB haben alle gängigen Browser und Webserver verkraftet).
Mein Problem ist allerdings das ich die Daten mit JavaScript aus einem Cookie auslesen will und dann an PHP weiter zum verarbeiten senden will und das ohne einen Klick vom User.
Ist das möglich ein Formular automatisch abzusenden?
Wenn das Cookie von deiner Site aus gesetzt wurde, dann hat PHP die Cookie-Daten sowieso schon! Schau mal in die Variable $_COOKIE rein (mit print_r($_COOKIE) zum Beispiel). Die Javascript-Zwischenlösung ist unnötig.
- Sven Rautenberg
Hallo,
ich habe da nur einen Wert aus der Praxis. Die URL sollte 68 Zeichen nicht überschreiten und die gesamte URi macht oft schon Probleme, wenn sie eine Länge von 254 Zeichen überschreitet.
Das ist ja auch ein guter Grund dafür, größere Datenmengen per multipart-Dokument mit POST zu verschicken.
Irgendwo habe ich zu diesem Thema auch ein paar Artikel aufgehoben, finde sie aber zur Zeit nicht.
Grüße
Tom
Moin!
ich habe da nur einen Wert aus der Praxis. Die URL sollte 68 Zeichen nicht überschreiten und die gesamte URi macht oft schon Probleme, wenn sie eine Länge von 254 Zeichen überschreitet.
Aus _deiner_ Praxis? Bei welchen Komponenten (Browser, Proxy, Server) denn? 68 Zeichen sind sicher eine ziemlich harte Grenze, die ich so nicht bestätigen würde. Insbesonder deine Äußerung "macht _oft_ schon Probleme" würde ich so nicht stehen lassen. Wie oft ist denn "oft"? Der Apache-Webserver hat mit URLs von bis zu 8 KB Länge in der Regel kein Problem. Irgendwelche alten Browser machen bei 255 Zeichen Schluß, und möglicherweise auch irgendwelche veralteten Proxys, aber in der Regel ist davon nicht mehr auszugehen. Zumindest nicht bei 68 Zeichen.
Das ist ja auch ein guter Grund dafür, größere Datenmengen per multipart-Dokument mit POST zu verschicken.
Das ist natürlich korrekt. Insbesondere kriegt man Dateiuploads nicht anders hin.
- Sven Rautenberg
Hallo Sven,
die maximale absolute Pfadlänge beträgt in Unix/POSIX1-Systemen 1024 Byte. Leider ist die Länge des maximalen relativen Pfades oft auf 70Bytes abzüglich einem Byte für die Länge und einer 0 (NUL) für die Stringterminierung begrenzt. Längenbyte UND NUL sind sicherlich redundant, ich habe mir das aber nicht ausgedacht.
Die Länge des relativen Pfades lässt sich nach POSIX unter AnsiC über die Konstante PATH_MAX abfragen.
URLs fallen unter den relativen Pfad, da ja auf der Maschine eine Dokumant-Root dazu addiert werden muss.
Warum dei URi nun oft auf 254 Zeichen begrenzt ist, hat sicherlich seinen Ursprung in den DOS-basierten Systemen. Die haben auf einer Befehlszeile ursprünglich nur 126 Bytes angenommen und auch später im Environment nur 256 (minus Länge und NUL) Zeichen Befehlszeile übergeben können. Das ist dann leider auch von SINIX und anderen PC-basierten Unix-Derivaten übermommen worden. Gerade hierzu suche ich noch einen Artikel.
Grüße
Tom
Moin, Tom!
die maximale absolute Pfadlänge beträgt in Unix/POSIX1-Systemen 1024 Byte. Leider ist die Länge des maximalen relativen Pfades oft auf 70Bytes abzüglich einem Byte für die Länge und einer 0 (NUL) für die Stringterminierung begrenzt. Längenbyte UND NUL sind sicherlich redundant, ich habe mir das aber nicht ausgedacht.
Und wieder behauptest du, dass etwas _oft_ der Fall ist, ohne Belege zu haben. Ich will ja nicht in Abrede stellen, dass es tatsächlich so blöse Systeme gibt, die nicht mal mit ein wenig mehr Pfadangabe zurechtkommen, aber bei den (mir) bekannten Betriebssystemen für Webserver der _heutigen_ Zeit, namentlich Windows, Linux und *BSD, ist mir das noch nicht zu Ohren gekommen.
Wenn diese Systeme, die ja eine gewisse Verbreitung haben und zusammen gewiß mehr als 80% der Betriebssysteme aller Webserver darstellen, bei 68 Byte Pfadlänge keine Probleme haben, dann tritt das Problem in meinen Augen nicht "oft" auf, sondern nur "in einzelnen Fällen mit alten/schlechten/exotischeren Betriebssystemen". :)
- Sven Rautenberg
Hi Sven,
ich hasse diese ESC-Taste.
Wahrscheinlich arbeite ich zu viel mit vi.
Die Domainnamen sind meines Erachtens nach auf 63 Zeichen à 8 Bit Länge begrenzt. Ein Zeichen (von 64) wird für die Null-Terminierung benötigt.
Jedenfalls habe ich den NIC so verstanden. Zumindest sind die für das Ordnungssystem relavanten Zeichen auf 63 beschränkt.
Wir sollten mal einen Versuch starten.
Leute, die auf Ihren Servern einfach sao URLs anlegen können, sollten das mal tun. Alle 10 Zeichen Länge. Dann sehen wir ja, wann die nicht mehr übertragen oder unterschieden werden.
Grüße
Tom
Moin!
Die Domainnamen sind meines Erachtens nach auf 63 Zeichen à 8 Bit Länge begrenzt. Ein Zeichen (von 64) wird für die Null-Terminierung benötigt.
Ja, Domainnamen sind begrenzt. Aber eine URL besteht ja nicht nur aus Domainnamen...
Wir sollten mal einen Versuch starten.
Leute, die auf Ihren Servern einfach sao URLs anlegen können, sollten das mal tun. Alle 10 Zeichen Länge. Dann sehen wir ja, wann die nicht mehr übertragen oder unterschieden werden.
Du bist herzlich eingeladen: Die Reise zum Mittelpunkt der Erde (oder so ähnlich) startet hier:
http://n00b.kaltschrank.de/123456789/ - immerhin 18 Ebenen habe ich angelegt, irgendwann geht's nicht mehr weiter.
- Sven Rautenberg