URL-Encoding

**URL-Encoding** (**URL-Kodierung**, aa **Prozentkodierung** gnannt) is a Mechanismus, dea dazu dient, Informationa in oana URL unta bestimmtn Gegebnheitn zua kodian. Zua Kodiarung wean nur bestimmte Zeichn des ASCII-Zeichnsatz vawendt.

Ohne de Kodiarung wärn einige Informationa ned in oana URL dostäibor. Beispuisweis wia a Laarzeichn in olla Regl vom Browser ois Ende dea URL intapretiat, nochfoignde Zeichn wean ignoriert oda fian zua an Feha. Mid dea URL-Kodiarung konn a Laarzeichn duach de Zeichnfoig `%20` iwagem wean. RFC 3986 definiert an Standard, wia a URI (und domi aa a URL) syntaktisch afbaut sa soi und unta welchn Bedingunga de URL-Kodiarung Owendung findt.

Aa fia ned im ASCII-Zeichnsatz enthoitnde Zeichn wiad de URL-Kodierung mid dem Prozentzeichn eigsetzt. Hier gibt es jedoch bisher nur a Empfehlung im , an vabindlichn Standard gibts no ned.

## Resavierte und ned resavierte Zeichn
URLs könn aas foigndn Teiln bstäi:
```
https://max:muster@www.example.com:8080/index.html?p1=A&p2=B#ressource
\___/   \_/ \____/ \_____________/ \__/\_________/ \_______/ \_______/
  |      |    |           |         |       |          |         |
Schema   | Kennwort      Host      Port    Pfad      Query    Fragment
      Benutzer
```
Bestimmte Zeichn innahoib des Aasdrucks kennzeichnen und trennan de onzlna Segmente dea URL und eameglichn a Zerlegung und Vaoabatung des Aasdrucks. Bei oan HTTP-Zuagriff beispuisweis:

* leitet des Fragezeichn (`?`) den Query-String dea URL ei,
* stäid des Gleichheitszeichn (`=`) zwischn dem Nam vo oan Parameta und sein Wert,
* stäid des Et-Zeichen (`&`) ois Trennzeichn zwischn Parametan im Query-String,
* folgt dem Doppelkreiz (`#`) dea Nam vo oan Dokumentnankas.

Weidare Zeichn ham spezifische Bedeitunga im Dokumentnpfad. Foignde Zeichn gejtn ois resaviert:

* `: / ? # [ ] @ ! $ & ' ( ) * + , ; =`

Foignde Zeichn san ned resaviert, besitzn oiso in oana URL koa vorgem Bedeitung:

* Buachstom: `A–Z, a–z`
* Ziffan: `0–9`
* `- . _ ~`

## Prozentdostäiung
A URL bstäid aas den gnanntn resaviertn und nicht resavierten Zeichn. Sie derf koane andan Zeichn enthoitn. Es bsäid jedoch prinzipiell dea Bedarf, in URLs beliebige Byte-Foign – oiso sämtliche Werte zwischn 0 und 255 – dozuastäin. Zudem muass a Meglichkeit existian, resavierte Zeichn in oana URL derart schreim zu könn, dass sie ihre speziejn Bedeitungen valiern.

De Prozentdostäiung vo Zeichn trogt beidn Fordarunga Rechnung. Ihr zuagrunde liegt a Kodiarungsvafohrn, des jedem Zeichncode a dreistellige Zeichnkombination zuaordnet, de mid dem Prozentzeichn beginnt, dem de zwoaziffrige hexadezimale Dostäiung ds Zeichencodes foigt.

A resavierts Zeichn muass in oana URL in prozentkodiata Form gschrim wean, wenn es an dea Stej, an dea es se befindet, a besondare Bedeitung hod, de aba im vorliegendn Kontext ned ham soi. Ned resavierte Zeichn könn, soiten aba ned, prozentkodiat wan. Bei andan Zeichn (unta andan Binärdatn) bstäid meist gor koa andare Meglichkeit, ois sie in oana URL in prozentkodierta Form dozuastäin (Aasnahmae: reservierts Zeichn ‚`+`‘ anstej vo oan Leaarzeichn im Query-String).

In dea Praxis wiad dea Mechanismus ned imma einheitlich ogwendt. Es gibt jedoch Fälle, in denen de Veawendung nötig is, beispuisweis beim Aafruaf vo an Anka iwa oan Dereferrerdienst.

### Relevante ASCII-Zeichen in Prozentdostäiung




## Im Netz

* RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax
* RFC 3987 – Internationalized Resource Identifiers (IRIs) bieten eine eindeutig unterscheidbare Alternative zur Darstellung von URIs mit Unicode-Zeichen und verwenden eine erweiterte Variante der URL-Kodierung

## Beleg