fredy: hat eine Url eine max. Länge

Hallo!

Ist eine URL in der Länge begrenzt oder kann ich soviele und solange GET-Variablen übergeben, wie ich "lustig" bin ?

Danke und liebe Grüße
fredy

  1. Hi,

    Ist eine URL in der Länge begrenzt oder kann ich soviele und solange GET-Variablen übergeben, wie ich "lustig" bin ?

    _theoretisch_ ist die Länge unbegrenzt,
    _praktisch_ wirst Du (bzw. irgendjemand) bereits bei rund 250 Zeichen Probleme kriegen, weil irgendein System auf dem Weg von Browser bis zum Server eine Begrenzung eingebaut hat.

    Faustregel: Spätestens wenn die URL beginnt, nicht mehr auf den ersten Blick über- und ersichtlich zu sein, solltest Du dringend auf POST umsteigen.

    Cheatah

    1. Hallo,

      der Pfad-Teil und der Variablenteil werden da unterschiedlich gehandhabt. Die Länge des Pfades hängt vom Betriebssystem ab. Die Länge der geasamten URL nebst Get-Variablen sit auf ca. 2kByte begrenzt.

      Ist eine URL in der Länge begrenzt oder kann ich soviele und solange GET-Variablen übergeben, wie ich "lustig" bin ?

      _theoretisch_ ist die Länge unbegrenzt,

      Das ist Quatsch. Genaures kann man in der HTML-Spezifikation nachlesen. Der Header einer HTML-Datei ist in seiner Länge nicht unbegrenzt verlängerbar.

      Die Übertragung der GET-Variablen findet in einem "monopart"-Header statt.

      Bei Post wird in aller Regel ein multipart-Protokoll genutzt. Dadurch kann man soviele Bytes anhängen, bis der Counter seinen Wertebereich ausgeschöpft hat.

      _praktisch_ wirst Du (bzw. irgendjemand) bereits bei rund 250 Zeichen Probleme kriegen, weil irgendein System auf dem Weg von Browser bis zum Server eine Begrenzung eingebaut hat.

      Faustregel: Spätestens wenn die URL beginnt, nicht mehr auf den ersten Blick über- und ersichtlich zu sein, solltest Du dringend auf POST umsteigen.

      Die Wahl, ob GET oder POST hängt eigentlich nicht mit der Länge der zu übertragenden Variablen zusammen, sondern WOHIN die Referenz zeigt und ob sie "suchmaschinengeeignet" sein soll. Versuch doch mal, eine POST-Variable in die Suchmaschine eintragen zu lassen.

      Grüße

      Tom

      1. Moin!

        der Pfad-Teil und der Variablenteil werden da unterschiedlich gehandhabt. Die Länge des Pfades hängt vom Betriebssystem ab. Die Länge der geasamten URL nebst Get-Variablen sit auf ca. 2kByte begrenzt.

        So ein Unsinn! Weder hat eine URL irgendetwas mit einem "Pfad" zu tun, noch stimmt das mit der 2kB-Begrenzung.

        _theoretisch_ ist die Länge unbegrenzt,

        Das ist Quatsch.

        Bitte halte doch die Klappe, wenn es um Themen geht, von denen Du nichts verstehst.

        Genaures kann man in der HTML-Spezifikation nachlesen. Der Header einer HTML-Datei ist in seiner Länge nicht unbegrenzt verlängerbar.

        Der Header einer HTML-Datei? Also das zwischen <HEAD> und </HEAD>? Das bezeichnet man eigentlich nur als Head. Von Header spricht man dagegen in diversen Protokollen, z.B. auch HTTP. Und dort gibt es keine prinzipielle Beschraenkung.

        Die Übertragung der GET-Variablen findet in einem "monopart"-Header statt.

        Einem was bitte?

        Bei Post wird in aller Regel ein multipart-Protokoll genutzt. Dadurch kann man soviele Bytes anhängen, bis der Counter seinen Wertebereich ausgeschöpft hat.

        Welcher Counter?

        _praktisch_ wirst Du (bzw. irgendjemand) bereits bei rund 250 Zeichen Probleme kriegen, weil irgendein System auf dem Weg von Browser bis zum Server eine Begrenzung eingebaut hat.

        Naja, bis 1024 kann man imho schon gehen. Sogar Microsoft-Software schafft das gewoehnlich. Beim Apache ist die Request Line (erste Zeile eines HTTP-Requests) per Default auf 8190 Byte begrenzt, bleibt fuer die URL also etwa 8175.

        Die Wahl, ob GET oder POST hängt eigentlich nicht mit der Länge der zu übertragenden Variablen zusammen, sondern WOHIN die Referenz zeigt und ob sie "suchmaschinengeeignet" sein soll. Versuch doch mal, eine POST-Variable in die Suchmaschine eintragen zu lassen.

        Immerhin, da ist was wahres dran.

        So long

        --
        Vergeben und vergessen heißt, gemachte kostbare Erfahrungen zum Fenster hinauswerfen.
            -- Arthur Schopenhauer

        1. hi,

          Naja, bis 1024 kann man imho schon gehen. Sogar Microsoft-Software schafft das gewoehnlich.

          Es gibt Provider, die da (aus welchen Gründen auch immer) Beschränkungen setzen. t-online macht so etwas. Wenn du die berühmten 10 MB Webspace bei t-online nutzen willst, kannst du zwar nach deren FAQ Verzeichnisse bis in eine Tiefe von mehreren hundert verschachteln, aber eine URL darf nicht mehr als 256 Zeichen enthalten. Hübsch ...

          Christoph S.

      2. Hi Thomas,

        Ist eine URL in der Länge begrenzt oder kann ich soviele und solange GET-Variablen übergeben, wie ich "lustig" bin ?

        _theoretisch_ ist die Länge unbegrenzt,

        Das ist Quatsch. Genaures kann man in der HTML-Spezifikation nachlesen.

        Wo?

        LG Orlando

        --
        SELF-TREFFEN 2002
        http://www.rtbg.de/selftreffen/
        http://www.megpalffy.org/temp/penneninhh.html

      3. hallo,

        _theoretisch_ ist die Länge unbegrenzt,
        Das ist Quatsch

        ganz und gar nicht.

        Genaures kann man in der HTML-Spezifikation nachlesen.

        aber _DAS_ ist Quatsch. Weil sich die Frage und die Antwort nicht auf die HTML-Spezifikation beziehen, sondern auf das Protokoll, also HTTP, nachlesen kannst du unter http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.1 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"

        Der Header einer HTML-Datei ist in seiner Länge nicht unbegrenzt verlängerbar.

        das hat mit der Frage nichts zu tun

        Grüße

        Christoph S.

        1. Hallo Christoph,

          http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.1 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"

          vielleicht solltest Du die beiden nachfolgenden Zeilen dieses Dokuments
          gleich mit zitieren, da sie mit dem Thema durchaus noch ezwas zu tun haben:

          A server SHOULD return 414 (Request-URI Too Long) status if a URI is

          longer than the server can handle

          (see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.15)

          Der Server darf also selber entscheiden, was er "aushält",
          er _sollte_ dem Client dann mitteilen, daß er überfordert wurde
          (er _muss_ dies aber nicht tun).

          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.

          Und Rücksichtnahme auf das schwächste Glied in der Kette ist immer gut.

          Viele Grüße
          <img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael

          1. hi Michael,

            vielleicht solltest Du die beiden nachfolgenden Zeilen dieses Dokuments
            gleich mit zitieren, da sie mit dem Thema durchaus noch ezwas zu tun haben

            och, ich dachte, wenn ich die richtige Quelle verlinke, wird er schon von alleine dort vorbeischauen und nachlesen ;-)

            Der Server darf also selber entscheiden, was er "aushält",
            er _sollte_ dem Client dann mitteilen, daß er überfordert wurde
            (er _muss_ dies aber nicht tun).

            völlig richtig, und ich denke, daß Cheatah _ganu das_ mit seinem Hinweis gemeint hat:

            _theoretisch_ ist die Länge unbegrenzt,
            _praktisch_ wirst Du (bzw. irgendjemand) bereits bei rund 250 Zeichen Probleme kriegen, weil irgendein System auf dem Weg von Browser bis zum Server eine Begrenzung eingebaut hat.

            Grüße aus Berlin

            Christoph S.