5784 Stimmen

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

  • Was ist die maximale Länge einer URL für jeden Browser?
  • Ist die maximale URL-Länge Bestandteil der HTTP-Spezifikation?

47 Stimmen

FWIW, für Windows-Benutzer können Serverpfade, die 250 Zeichen überschreiten möglicherweise Probleme verursachen, wenn URLs erstellt werden, siehe z.B. HttpContext.Current.Server.MapPath fails for long file names auf forums.asp.net. Das Fazit: Wenn eine Einschränkung Sie nicht aufhält, könnte eine andere das tun.

0 Stimmen

@gerryLowry: Windows-Tools haben bereits Probleme beim Kompilieren mit langen Dateinamen, daher ist dies normalerweise kein Problem, wenn Sie MapPath nur für tatsächliche Dateinamen verwenden. Man hofft, dass die extra langen URL-Namen nicht mit extra langen Dateipfaden gekoppelt sind, da letzteres zu einem unbrauchbaren Durcheinander führt, während Ersteres möglicherweise nur ein Entwickler ist, der GET-Anfragen missbraucht, wo er POST-Anfragen verwenden sollte.

29 Stimmen

Aus support.microsoft.com/kb/208427 "Die maximale URL-Länge beträgt 2.083 Zeichen im Internet Explorer"

112voto

Es gibt wirklich keine universelle maximale URL-Länge. Die maximale Länge wird nur durch das unterstützt, was der Client-Browser wählt, was stark variiert. Die Grenze von 2.083 gilt nur für Internet Explorer (alle Versionen bis 7.0). Die maximale Länge in Firefox und Safari scheint unbegrenzt zu sein, obwohl Instabilität bei URLs ab etwa 65.000 Zeichen auftritt. Opera hat scheinbar überhaupt keine maximale URL-Länge und leidet nicht unter Instabilität bei extrem langen Längen.

10 Stimmen

Wenn die Instabilität bei 65k liegt, befindet sie sich wahrscheinlich in der Nähe von 65535 (2^16 - 1). Vielleicht durchlaufen sie die Zeichen mit einem kurzen i? Nur so eine Idee. Ich frage mich, welche URL sie für 65k+ getestet haben o_o;;

6 Stimmen

Diese Antwort ist vielleicht die, die akzeptiert werden sollte, da sie konkrete Antworten liefert: 2k für IE, 65k für Safari/Firefox, "mehr" für Opera.

1 Stimmen

Ich bin neugierig. Ist die 65k-URL ein Daten Schema URI oder wirklich eine URL im klassischen Sinne?

74voto

casperOne Punkte 72238

Das URI RFC (von dem URLs eine Teilmenge sind) definiert keine maximale Länge, empfiehlt jedoch, dass der Hostname-Teil der URI (falls zutreffend) nicht mehr als 255 Zeichen lang sein sollte:

URI-Produzenten sollten Namen verwenden, die sich an die DNS-Syntax halten, selbst wenn die Verwendung von DNS nicht unmittelbar erkennbar ist, und diese Namen auf maximal 255 Zeichen beschränken.

Wie in anderen Beiträgen jedoch erwähnt, haben einige Browser eine praktische Einschränkung hinsichtlich der Länge einer URL.

58voto

Greg Punkte 306033

Die HTTP 1.1 Spezifikation besagt:

URIs in HTTP können in absoluter Form oder relativ zu einem
bekannten Basis-URI [11] dargestellt werden, abhängig von ihrem Verwendungskontext. Die beiden
Formen werden durch die Tatsache unterschieden, dass absolute URIs immer
mit einem Schema-Namen beginnen, gefolgt von einem Doppelpunkt. Für verbindliche Informationen über
URL-Syntax und Semantik siehe "Uniform Resource Identifiers (URI): Generische Syntax und Semantik," RFC 2396 [42] (ersetzt RFCs 1738 [4] und RFC 1808 [11]). Diese Spezifikation übernimmt die Definitionen von "URI-Referenz", "absoluteURI", "relativeURI", "port",
"host","abs_path", "rel_path" und "authority" aus dieser
Spezifikation.

Das HTTP-Protokoll setzt keine a priori Beschränkung für die Länge von URIs. Server MÜSSEN in der Lage sein, die URI eines jeden von ihnen bereitgestellten Ressource zu verarbeiten, und SOLLTEN in der Lage sein, URIs unbegrenzter Länge zu verarbeiten, wenn sie GET-basierte Formen bereitstellen, die solche URIs generieren könnten.* Ein Server SOLLTE einen 414 (Request-URI Too Long) Status zurückgeben, wenn ein URI länger ist, als der Server verarbeiten kann (siehe Abschnitt 10.4.15).

Hinweis: Server sollten vorsichtig sein, wenn sie sich auf URI-Längen von über 255 Bytes verlassen, da einige ältere Client- oder Proxy-Implementierungen diese Längen möglicherweise nicht ordnungsgemäß unterstützen.

Wie von @Brian erwähnt, können die HTTP-Clients (z. B. Browser) ihre eigenen Grenzen haben, und die HTTP-Server werden unterschiedliche Grenzen haben.

48voto

MegaTux Punkte 1471

Microsoft-Support sagt "Die maximale URL-Länge beträgt 2.083 Zeichen im Internet Explorer".

Der IE hat Probleme mit URLs, die länger sind als das. Firefox scheint gut mit >4k-Zeichen zu funktionieren.

44voto

Paul Morgan Punkte 28704

In URL als UI empfiehlt Jakob Nielsen:

Die soziale Schnittstelle zum Web basiert auf E-Mails, wenn Benutzer Webseiten gegenseitig empfehlen möchten, und E-Mails sind der zweithäufigste Weg für Benutzer, um auf neue Websites zu gelangen (Suchmaschinen sind der häufigste): Stellen Sie sicher, dass alle URLs auf Ihrer Website weniger als 78 Zeichen lang sind, damit sie nicht über einen Zeilenumbruch umgebrochen werden.

Dies ist nicht das Maximum, aber ich würde dies als praktisches Maximum betrachten, wenn Sie möchten, dass Ihre URL geteilt wird.

6 Stimmen

Ich frage mich, woher "78" kommt? Vielleicht wurde dieser originale Artikel aus dem Jahr 1999 unter der Annahme geschrieben, dass die Leute ihre E-Mails in 80x24 Terminalfenstern lesen? Trotzdem, gute Ratschläge!

5 Stimmen

Nun ja. IBM Lochkarten hatten auch 80 Spalten. Wenn zwei Zeichen für einen Wagenrücklauf und einen Zeilenumbruch verwendet werden, bleiben 78 übrig.

2 Stimmen

Haha. :-) Ich habe tatsächlich erwogen, in meinem Kommentar auf CGA-Monitore im Stil von 1981 mit 80x25 zu verweisen, aber du bist noch weiter zurückgegangen! ...Ich war nicht in der Lochkarten-Ära, waren sie 80 Bytes breit oder nur 80 Bits?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X