2009-11-07 24 views

Antwort

20

Ja, können Sie es klar in der URL-Pfad wie folgt verwenden:

http://example.com/Alice&Bob 

Nur wenn Sie wollen, dass es in der Abfrage verwenden, müssen Sie es mit %26 kodieren:

http://example.com/?arg=Alice%26Bob 

Andernfalls würde es als Argumenttrennzeichen interpretiert werden, wenn es als application/x-www-form-urlencoded interpretiert wird.

Weitere Details finden Sie unter RFC 3986.

+0

Ich hoffe, das ist wahr: Es würde den Unterschied machen zwischen einer großen und einer armen Antwort. In-line datierte Zitate aus * RFC3986 * können dies hervorragend machen – Borodin

2

Wenn Sie keine Variablen an die Abfragezeichenfolge anhängen, codieren Sie sie.

1

kodieren ‚&‘ mit & (diese Antwort auf Ihre Verwendung von Tags basiert)

Wenn Sie fragen, was die Verwendung von „&“ oder „und“, wenn Sie den Namen Ihrer URL Registrierung, würde ich "und".

BEARBEITEN: Wie in den Kommentaren erwähnt "& ist eine HTML-Zeichenentität und keine URI-Zeichenentität. Indem Sie das in einen URI setzen, haben Sie immer noch das Und-Zeichen und zusätzliche irrelevante Zeichen." Ich habe angefangen zu antworten, bevor ich deine Frage vollständig verstanden habe.

+2

& ist eine HTML-Zeichenentität und keine URI-Zeichenentität. Wenn Sie das in einen URI einfügen, haben Sie immer noch das kaufmännische Und-Zeichen und zusätzliche irrelevante Zeichen. –

+0

* Gesicht palm * Richtig, geschrieben, bevor Sie das durch denken. Stimmen Sie nach unten ab. – MarkPowell

+0

Löschen Sie einfach Ihre Antwort, anstatt nach unten Stimmen zu fragen :) – truppo

6

Eine URL ist in der Regel in Form

scheme://host/some/path/to/file?query1=value&query2=value 

So ist es nicht ratsam ist, es in einer URL zu verwenden, wenn Sie es für Parameter verwenden möchten. Andernfalls sollten Sie Prozent mit% 26, z.

http://www.example.com/hello%26world 

Diese auf dem Weg dazu führt, als hallo & Welt eingereicht. Es gibt andere Zeichen, die maskiert werden müssen, wenn sie außerhalb des Kontexts in einer URL verwendet werden. Eine Liste finden Sie unter here.

+0

Sie müssen es nicht codieren, wenn im URL-Pfad verwendet. – Gumbo

+0

Ok, das wusste ich nicht. Ich habe gerade den Teil über die Codierung in dem RFC gelesen, den Sie in Ihrer Antwort verlinkt haben. Aber wenn ich das richtig verstanden habe, scheint es so zu sein, dass http://example.com/Alice&Bob und http://example.com/Alice%26Bob nicht als gleichwertig betrachtet werden und von einer Anwendung unterschiedlich interpretiert werden können (was bei HTTP, wie Sie darauf hingewiesen haben). – Alfonso

Verwandte Themen