Ist es sicher, ein @
Symbol als Teil eines Benutzers zu verwenden? Eine mögliche URL wäre beispielsweise http://example.com/@dave
.
Die Idee ist, dass Benutzer heutzutage häufig als "@user" bezeichnet werden. Warum also nicht die Benutzerseite "@username" erstellen?
Antworten:
Prozentcodiert…
Sie können die Verwendung
@
Zeichen in HTTP - URI - Pfade , wenn Sie Prozent codieren es als%40
.Viele Browser würden es immer noch als anzeigen
@
, aber wenn Sie beispielsweise den URI kopieren und in ein Textdokument einfügen, wird dies der Fall sein%40
.… Aber auch direkt
Anstatt es in Prozent zu codieren, können Sie es
@
direkt im HTTP-URI-Pfad verwenden.In der Syntax finden Sie den Pfad eines URI. Verschiedene unabhängige Bestimmungen zur Seite, kann der Pfad von Zeichen bestehen , in dem
segment
,segment-nz
odersegment-nz-nc
Set.segment
undsegment-nz
bestehen aus Zeichen aus dempchar
Satz, der definiert ist als:Wie Sie sehen können,
@
ist das explizit aufgeführt.Das
segment-nz-nc
Set listet das@
Zeichen auch explizit auf:Ein solcher HTTP-URI ist also völlig gültig:
Beispiel
Hier ist ein Beispiel für eine Wikipedia-Seite:
http://en.wikipedia.org/wiki/%22@%22_%28album%29
Wie Sie sehen können, die
"
,(
und)
Zeichen Prozent-codiert, aber das@
und das_
direkt verwendet wird.quelle
@
mehr in URLs verwendet, aber die alten (?) Profil-URLs funktionieren immer noch: Beispiel mit prozentualer Codierung@
(funktioniert nicht !) Im Vergleich zu Beispiel mit@
direkter Verwendung (funktioniert) Arbeit!) .@
bei Twitter. Ihre inneren Links verweisen auf die URL ohne@
jedoch: twitter.com/@stackexchange@
ist nicht unreserved . Verbraucher dürfen das also nicht annehmen%40
und@
sind gleichwertig.Many browsers would display it still as @, but e.g. when you copy-and-paste the URI into a text document, it will be %40.
Das gilt nicht für Chrome.Können Sie das @ -Symbol in einer URL verwenden? - Ja, das kannst du!
Beachten Sie, dass @ -Zeichen, Hexadezimalwert 40, Dezimalwert 64, reservierte Zeichen für URIs sind. Die Verwendung erfolgt beispielsweise für E-Mail-Adressen in
mailto:
URIsmailto:[email protected]
und zum Übergeben von Benutzernamen- und Kennwortinformationen an eine URI (was eine schlechte Idee ist, aber möglich):http://username:[email protected]
Wenn Sie eine URL mit einem @ -Symbol in einem Pfad möchten, müssen Sie diese mit der sogenannten " URL-Codierung " codieren . Zum Beispiel so:
http://somewhere.foo/profile/username%40somewhere.foo
Alle modernen Browser zeigen dies als http://somewhere.foo/profile/[email protected] an und konvertieren alle in @ -sign eingegebenen in
%40
, sodass die Verwendung einfach ist.Viele Web-Frameworks helfen Ihnen auch dabei, entweder automatisch oder mit Hilfsfunktionen in und von URL-codierten URLs zu konvertieren.
Zusammenfassend: Ja, Sie können das @ -Symbol in einer URL verwenden, aber Sie müssen sicherstellen, dass es codiert ist, da Sie das @ -Zeichen nicht verwenden können .
quelle
@
Zeichen nicht im Pfadteil einer URL ( greenbytes.de/tech/webdav/rfc3986.html#path )Im RFC die folgenden Zeichen:
sind reserviert und:
Es wird daher nicht empfohlen, diese Zeichen ohne Codierung zu verwenden.
quelle
Grundsätzlich nein.
@
ist ein reserviertes Zeichen und sollte nur für den vorgesehenen Zweck verwendet werden.Siehe: http://perishablepress.com/stop-using-unsafe-characters-in-urls/ und http://www.ietf.org/rfc/rfc3986.txt
Es kann verschlüsselt verwendet werden, aber ich glaube nicht, dass Sie danach gefragt haben.
Anscheinend werden moderne Browser damit umgehen. Sie haben jedoch gefragt, ob dies sicher ist, und gemäß der Spezifikation des RFC sollten Sie es nicht verwenden (nicht codiert), es sei denn, es ist für den beabsichtigten Zweck vorgesehen.
quelle