Was ist die maximale Länge einer URL in verschiedenen Browsern?

Wie lang ist die maximale Länge einer URL in verschiedenen Browsern? Unterscheidet sie sich von Browser zu Browser?

Ist sie durch das HTTP-Protokoll vorgegeben?

Lösung

Kurze Antwort - de facto Begrenzung auf 2000 Zeichen

Wenn Sie die URLs unter 2000 Zeichen halten, funktionieren sie in praktisch jeder Kombination von Client- und Server-Software. Wenn Sie auf bestimmte Browser abzielen, finden Sie weiter unten nähere Informationen zu spezifischen Grenzen.

Längere Antwort - erstens, die Standards...

RFC 2616 (Hypertext Transfer Protocol HTTP/1.1) Abschnitt 3.2.1 sagt

Das HTTP-Protokoll setzt keine keine a priori Begrenzung für die Länge von einer URI. Server MÜSSEN in der Lage sein, die den URI jeder Ressource, die sie anbieten, zu verarbeiten, und SOLLTEN in der Lage sein, URIs von unbeschränkter Länge zu handhaben, wenn sie GET-basierte Formulare anbieten, die solche URIs erzeugen können. Ein Server SOLLTE zurückgeben 414 (Request-URI Too Long) zurück, wenn ein URI länger ist als der Server verarbeiten kann verarbeiten kann (siehe Abschnitt 10.4.15).

Dieser RFC wurde durch RFC7230 überholt, der eine Aktualisierung der HTTP/1.1-Spezifikation darstellt. Er enthält ähnliche Formulierungen, schlägt aber auch Folgendes vor: Verschiedene Ad-hoc-Beschränkungen der Länge von Anfragezeilen sind in der Praxis. Es wird EMPFOHLEN, dass alle HTTP-Sender und -Empfänger mindestens eine Anforderungszeilenlänge von 8000 Oktetten unterstützen.

...und die Realität

So steht es in den Standards. Für die Wirklichkeit siehe diese Untersuchung auf boutell.com, um zu sehen, was einzelne Browser und Server-Implementierungen unterstützen werden. Es lohnt sich, sie zu lesen, aber die Zusammenfassung lautet: Extrem lange URLs sind in der Regel ein Fehler. URLs mit mehr als 2.000 Zeichen funktionieren nicht in den gängigsten Web Browsern. Verwenden Sie sie nicht, wenn Sie beabsichtigen Ihre Website für die Mehrheit der Internetnutzer funktionieren soll. (Hinweis: Dies ist ein Zitat aus einem Artikel aus dem Jahr 2006, aber im Jahr 2015 bedeutet der Rückgang der Nutzung des IE, dass längere URLs für die Mehrheit funktionieren. Allerdings hat der IE immer noch die Einschränkung...)

Internet Explorer's limitations...

Die maximale URL-Länge des IE8 beträgt 2083 Zeichen, und es scheint, dass der IE9 ein ähnliches Limit hat]5. Ich habe IE10 getestet und die Adressleiste akzeptiert nur 2083 Zeichen. Sie können auf eine URL klicken, die länger ist als diese, aber die Adressleiste zeigt trotzdem nur 2083 Zeichen dieses Links an. Es gibt einen netten Bericht im IE Internals Blog, der einige der Hintergründe zu diesem Problem erläutert. Es gibt gemischte Berichte, dass der IE11 längere URLs unterstützt - siehe Kommentare unten. Da einige Leute von Problemen berichten, bleibt der allgemeine Rat bestehen.

Suchmaschinen mögen URLs < 2048 Zeichen...

Beachten Sie, dass das Sitemaps-Protokoll, das es einer Website ermöglicht, Suchmaschinen über verfügbare Seiten zu informieren, eine Obergrenze von 2048 Zeichen in einer URL hat. Wenn Sie beabsichtigen, Sitemaps zu verwenden, wurde eine Grenze für Sie festgelegt! (siehe Calin-Andrei Burloiu's Antwort unten) Es gibt auch einige Untersuchungen aus dem Jahr 2010 über die maximale URL-Länge, die von Suchmaschinen gecrawlt und indiziert wird. Sie fanden heraus, dass die Grenze bei 2047 Zeichen liegt, was mit der Spezifikation des Sitemap-Protokolls zusammenzuhängen scheint. Sie fanden jedoch auch heraus, dass das Google SERP Tool mit URLs, die länger als 1855 Zeichen sind, nicht zurechtkommt.

Zusätzliche Browser-Übersicht

Ich habe das Folgende mit einem Apache 2.4 Server getestet, der mit einem sehr großen LimitRequestLine und LimitRequestFieldSize konfiguriert ist.

Browser     Address bar   document.location
                          or anchor tag
------------------------------------------
Chrome          32779           >64k
Android          8192           >64k
Firefox          >64k           >64k
Safari           >64k           >64k
IE11             2047           5120
Edge 16          2047          10240

Siehe auch diese Antwort von Matas Vaitkevicius weiter unten.

Sind diese Informationen auf dem neuesten Stand?

Dies ist eine beliebte Frage, und da die ursprüngliche Untersuchung ~12 Jahre alt ist, werde ich versuchen, sie aktuell zu halten: Stand Sep 2018 ist der Ratschlag immer noch gültig. Auch wenn der IE11 möglicherweise längere URLs akzeptiert, bedeutet die Allgegenwart älterer IE-Installationen und die Beschränkungen der Suchmaschine, dass ein Aufenthalt unter 2000 Zeichen die beste allgemeine Politik ist.

Kommentare (20)

WWW FAQs: Was ist die maximale Länge einer URL? hat seine eigene Antwort, die auf empirischen Tests und Untersuchungen beruht. Die kurze Antwort lautet, dass die Überschreitung von 2048 Zeichen den Internet Explorer unglücklich macht und dies daher die Grenze ist, die Sie verwenden sollten. Eine ausführliche Antwort finden Sie auf dieser Seite.

Kommentare (0)

Der URI RFC (von dem URLs eine Untergruppe sind) legt keine Höchstlänge fest, empfiehlt aber, dass der Hostnamen-Teil des URI (falls zutreffend) nicht länger als 255 Zeichen sein darf:

URI-Ersteller sollten Namen verwenden, die

der DNS-Syntax entsprechen, auch wenn die Verwendung von DNS nicht sofort offensichtlich ist, und sollten diese Namen auf nicht mehr als 255 Zeichen in Länge begrenzen.

Wie bereits in anderen Beiträgen erwähnt, haben einige Browser eine praktische Beschränkung für die Länge einer URL.

Kommentare (0)