it-swarm.com.de

Welche Sonderzeichen können in der URL sicher verwendet werden?

Welche Sonderzeichen können in der URL sicher verwendet werden?

13
YOU

Die sicheren Zeichen sind a-z, A-Z, 0-9 und _ - (Unterstrich und Minus), abgesehen von den reservierten Zeichen, die für die Parameter verwendet werden.

Andere Charaktere geben in gewissem Maße Probleme. Beispiel: Wenn ein Parameter ein Array ?param=array[content] ist, wird eine URL mit der URL-Kodierung in eckigen Klammern angezeigt, die unschön und unmöglich zu diktieren ist.

Aber das Problem ist nicht nur, dass es hässlich ist. Nehmen wir an, Sie haben ein JPG mit einem Zeichen neben den sichereren. Oft kann der Browser es nicht herunterladen und bekommt ein 404. Dies ist ein Problem älterer Browser und einiger mobiler Browser.

Wie teste ich das?

  • setzen Sie eine Reihe von Bildern/js/css mit den Zeichen, die Sie in den Namen testen möchten, auf eine öffentliche Seite mit vielen Besuchern
  • Lassen Sie die 404-Seite bei jedem Treffer eine E-Mail senden

Ich habe einen Posteingang mit 14000 E-Mails, die meinen Standpunkt belegen.

10

Die folgenden Zeichen haben in der Pfadkomponente Ihrer URL eine besondere Bedeutung (die Pfadkomponente steht alles vor dem '?'):

  ";" | "/" | "?"

Darüber hinaus haben die folgenden Zeichen im Abfrageteil Ihrer URL eine besondere Bedeutung (alles nach '?'). Deshalb, wenn sie nach dem '?' du musst ihnen entkommen:

  ":" | "@" | "&" | "=" | "+" | "$" | ","

Eine ausführlichere Erklärung finden Sie in RFC .

11
Thomas Bonini

Die Antworten hier sind gut, aber es gibt noch eine Ausnahme, die ich für erwähnenswert halte - nicht-englische Zeichen. Referenzieren diese SF-Frage hier , Zeichen wie ñ (wie in Español) sind absolut legitim, WENN sie in Ihrem DNS korrekt codiert wurden.

Sie müssen Punycode in Ihrem DNS verwenden, um sie in modernen Browsern aufzulösen (der Eintrag für español ist xn--espaol-zwa), aber diese sind jetzt vollkommen sicher in Domain-Namen zu verwenden, da sie ' Es ist auch für nicht Englisch sprechende Benutzer leicht zu tippen.

3
Mark Henderson