Welche Sonderzeichen können in der URL sicher verwendet werden?
Welche Sonderzeichen können in der URL sicher verwendet werden?
Antworten:
Die sicheren Zeichen sind az, AZ, 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 ist, ?param=array[content]
wird eine URL in eckigen Klammern angezeigt, die hässlich 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?
Ich habe einen Posteingang mit 14000 E-Mails, die meinen Standpunkt belegen.
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 im RFC .
Die Antworten hier sind gut, aber es gibt noch eine Ausnahme, die meiner Meinung nach erwähnenswert ist - nicht-englische Zeichen. Wenn Sie hier auf diese SF-Frage verweisen , sind Zeichen wie ñ (wie in Español) absolut legitim, WENN sie in Ihrem DNS korrekt codiert wurden.
Sie müssen Punycode in Ihrem DNS verwenden, damit sie in modernen Browsern aufgelöst werden können (der Eintrag für español lautet xn--espaol-zwa
), aber diese sind jetzt absolut sicher für die Verwendung in Domain-Namen, da sie auch von Nicht-Englisch-Sprechern leicht eingegeben werden können .