Dies gilt nicht nur für das kaufmännische Und in URLs, sondern für alle reservierten Zeichen . Einige davon sind:
# $ & + , / : ; = ? @ [ ]
Die Idee ist die gleiche wie beim Codieren von &
in einem HTML-Dokument, aber der Kontext wurde geändert, um sich innerhalb des URI zu befinden, zusätzlich dazu, dass er sich innerhalb des HTML-Dokuments befindet. Die prozentuale Codierung verhindert also Probleme beim Parsen in beiden Kontexten.
Der Ort, an dem dies sehr nützlich ist, ist, wenn Sie eine URL in eine andere URL einfügen müssen. Wenn Sie beispielsweise einen Status auf Twitter veröffentlichen möchten:
http://www.twitter.com/intent/tweet?status=What%27s%20up%2C%20StackOverflow%3F(http%3A%2F%2Fwww.stackoverflow.com)
Mein Tweet enthält viele reservierte Zeichen ?'():/
, daher habe ich den gesamten Wert des status
URL-Parameters codiert . Dies ist auch hilfreich, wenn Sie mailto:
Links verwenden, die einen Nachrichtentext oder Betreff haben, da Sie die Parameter body
und codieren müssen, um subject
Zeilenumbrüche, kaufmännisches Und usw. intakt zu halten.
Wenn ein Zeichen aus dem reservierten Satz (ein "reserviertes Zeichen") in einem bestimmten Kontext eine besondere Bedeutung (ein "reservierter Zweck") hat und ein URI-Schema besagt, dass dieses Zeichen für einen anderen Zweck verwendet werden muss, dann das Zeichen muss prozentual codiert sein. Bei der prozentualen Codierung eines reservierten Zeichens wird das Zeichen in ASCII in seinen entsprechenden Bytewert konvertiert und dieser Wert dann als ein Paar hexadezimaler Ziffern dargestellt. Die Ziffern, denen ein Prozentzeichen ("%") vorangestellt ist, das als Escapezeichen verwendet wird, werden dann in der URI anstelle des reservierten Zeichens verwendet. (Für ein Nicht-ASCII-Zeichen wird es normalerweise in UTF-8 in seine Bytesequenz konvertiert, und dann wird jeder Bytewert wie oben dargestellt.) Das reservierte Zeichen "/", wenn es beispielsweise im "Pfad" verwendet wird. Komponente eines URI hat die besondere Bedeutung, ein Trennzeichen zwischen Pfadsegmenten zu sein. Wenn sich "/" gemäß einem bestimmten URI-Schema in einem Pfadsegment befinden muss, müssen die drei Zeichen "% 2F" oder "% 2f" im Segment anstelle eines rohen "/" verwendet werden.
http://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters