URL-EncodingURL-Encoding (URL-Kodierung, auch Prozentkodierung genannt) ist ein Mechanismus, der dazu dient, Informationen in einer URL unter bestimmten Gegebenheiten zu kodieren. Zur Kodierung werden nur bestimmte Zeichen des ASCII-Zeichensatzes verwendet. Ohne diese Kodierung wären einige Informationen nicht in einer URL darstellbar. Beispielsweise wird ein Leerzeichen in aller Regel vom Browser als Ende der URL interpretiert, nachfolgende Zeichen würden ignoriert oder führten zu einem Fehler. Mit der URL-Kodierung kann ein Leerzeichen durch die Zeichenfolge Auch für nicht im ASCII-Zeichensatz enthaltene Zeichen wird die URL-Kodierung mit dem Prozentzeichen eingesetzt. Hier gibt es jedoch bisher nur eine Empfehlung im RFC 3986, ein verbindlicher Standard fehlt noch. Reservierte und nicht reservierte ZeichenURLs können aus folgenden Teilen bestehen: https://maxmuster:geheim@www.example.com:8080/index.html?p1=A&p2=B#ressource \___/ \_______/ \____/ \_____________/ \__/\_________/ \_______/ \_______/ | | | | | | | | Schema Benutzer Kennwort Host Port Pfad Query Fragment Bestimmte Zeichen innerhalb dieses Ausdrucks kennzeichnen und trennen die einzelnen Segmente der URL und ermöglichen eine Zerlegung und Verarbeitung des Ausdrucks. Bei einem HTTP-Zugriff beispielsweise:
Weitere Zeichen haben spezifische Bedeutungen im Dokumentenpfad. Folgende Zeichen gelten als reserviert:
Folgende Zeichen sind nicht reserviert, besitzen also in einer URL keine vorgegebene Bedeutung:
ArtenProzentdarstellungEine URL besteht aus den genannten reservierten und nicht reservierten Zeichen. Sie darf keine anderen Zeichen enthalten. Es besteht jedoch prinzipiell der Bedarf, in URLs beliebige Byte-Folgen – also sämtliche Werte zwischen 0 und 255 – darstellen zu können. Zudem muss eine Möglichkeit existieren, reservierte Zeichen in einer URL derart schreiben zu können, dass sie ihre speziellen Bedeutungen verlieren (siehe auch Escape-Sequenz). Die Prozentdarstellung von Zeichen trägt beiden Forderungen Rechnung. Ihr zugrunde liegt ein Kodierungsverfahren, das jedem Zeichencode eine dreistellige Zeichenkombination zuordnet, die mit dem Prozentzeichen beginnt, dem die zweiziffrige hexadezimale Darstellung des Zeichencodes folgt. Ein reserviertes Zeichen muss in einer URL in prozentkodierter Form geschrieben werden, wenn es an der Stelle, an der es sich befindet, eine besondere Bedeutung hat, diese aber im vorliegenden Kontext nicht haben soll. Nicht reservierte Zeichen können, sollten aber nicht, prozentkodiert werden. Bei anderen Zeichen (unter anderem Binärdaten) besteht meist gar keine andere Möglichkeit, als sie in einer URL in prozentkodierter Form darzustellen (Ausnahme: reserviertes Zeichen ‚
In der Praxis wird dieser Mechanismus nicht immer einheitlich angewendet. Es gibt jedoch Fälle, in denen die Verwendung nötig ist, beispielsweise beim Aufruf eines Ankers über einen Dereferrerdienst. Relevante ASCII-Zeichen in Prozentdarstellung
Nicht-ASCII-ZeichenAuch für die Zeichen, die nicht im ASCII-Zeichensatz enthalten sind, werden die Bytes mit vorangestelltem ‚ In der empfohlenen Kodierung UTF-8 wäre beispielsweise der Buchstabe „ö“ (mit dem dezimalen Unicode-Zeichenwert 246) als Mitunter wird immer noch ISO 8859-1 (Latin-1) für die Darstellung benutzt und dessen identischer dezimaler Zeichenwert 246 direkt mit Hilfe der Prozentkodierung in die URL eingefügt. Der Umlaut „ö“ wird dann als Wert Beide Darstellungsarten übermitteln dem Server aber unterschiedliche Bitfolgen. Obwohl beide nach ihrer Art richtig kodiert sind, liefert nur eine davon die gewünschte Datei und die andere meist nur eine Fehlermeldung. Bei einigen Servern – wie zum Beispiel denen der Wikipedia – wird jedoch versucht, die Kodierung zu ermitteln, so dass dann auf die richtige Datei weitergeleitet werden kann. Wenn es mit einer Kodierung nicht klappt, sollte man eine der anderen wahrscheinlichen Varianten probieren. Eindeutigkeit der ZeichendekodierungEinzeln kodierte ASCII-Zeichen (zum Beispiel Bei Zahlen von 128 bis 255 ist die Kodierung unsicher: Entweder handelt es sich um eine UTF-8-Kodefolge (bzw. deren Beginn) oder um eine Kodierung für einen beschränkten Zeichensatz von 256 Zeichen wie beispielsweise ISO 8859-15. Weil in UTF-8 nur bestimmte aufeinanderfolgende Kodes zulässig sind, können beschränkte Kodierungen und UTF-8 mit einer gewissen Wahrscheinlichkeit auseinandergehalten werden: Form-EncodingMit dem MIME-Typ Weblinks
Einzelnachweise
|
Portal di Ensiklopedia Dunia