HTML-URL-Kodierung
Charset bestimmt, wie die HTML-Datei Bytes in Buchstaben verwandelt. URL-Kodierung (Percent-Encoding) ist ein anderes Problem: wie Zeichen sicher innerhalb einer URL reisen — in Links, Weiterleitungen und Formular-Query-Daten — ohne die eigene Struktur der URL zu zerbrechen. Leerzeichen, Nicht-ASCII-Buchstaben und reservierte Symbole brauchen oft die Form % + Hex, damit Browser und Server sich über die Bedeutung einig sind.
Was URL-Kodierung ist
Eine URL hat reservierte Zeichen, die die Adresse strukturieren: ? startet eine Query, & trennt Paare, = verbindet Namen mit Werten, # startet ein Fragment. Wenn diese Zeichen als Daten in einem Wert vorkommen, müssen sie kodiert werden, damit sie nicht für Struktur gehalten werden. Unsichere Zeichen wie Leerzeichen werden ebenfalls für zuverlässigen Transport kodiert.
Direkte Antwort
URL-Kodierung ersetzt ein Zeichen durch % gefolgt von zwei hexadezimalen Ziffern. Das klassische Beispiel: ein Leerzeichen wird zu %20. Viele Browser und HTML-Formulare kodieren Query-Werte beim Absenden automatisch. Du brauchst die Idee trotzdem, wenn du href-Query-Strings von Hand schreibst, einen kaputten Link debugst oder eine Adressleiste voller Percent-Codes liest.
Häufige Percent-Kodierungen
📊 Häufige Percent-Kodierungen
| Zeichen | Kodiert | Hinweis |
|---|---|---|
| Leerzeichen | %20 | Sehr häufig in Query-Strings |
| # | %23 | # startet sonst ein Fragment |
| & | %26 | & trennt Query-Paare |
| = | %3D | = trennt Name und Wert |
| ? | %3F | ? startet den Query-String |
| / | %2F | Schrägstrich in einem Wert kann Kodierung brauchen |
Kodierte Query in einem Link
Eine Such-Query mit Leerzeichen von Hand zu schreiben ist die klarste Anfänger-Demo. Kodiere das Leerzeichen im Wert; lass die strukturellen ? und = in Ruhe.
Link mit kodiertem Leerzeichen in der Query
html<p>
<a href="search.html?q=html%20links">Search for html links</a>
</p>
Das Beispiel lesen
search.htmlist der Pfad; halte Pfad-Dateinamen einfach, wenn du sie kontrollierst?q=startet einen Query-Parameter namensqhtml%20linksist der Wert „html links“ mit einem als%20kodierten Leerzeichen- Der sichtbare Linktext kann menschenlesbar bleiben; die Kodierung gehört in die URL
Saubere Dateinamen bevorzugen; Werte kodieren
Einen ganzen Seitennamen mit Leerzeichen zu kodieren ist für alle umständlich. Bevorzuge my-page.html gegenüber my page.html. Nutze Percent-Encoding vor allem für Query-Werte und Sonderzeichen in URLs, die du von Hand zusammenbauen musst.
Sauberer Pfad versus kodierter Query-Wert
html<!-- Prefer a clean path -->
<a href="my-page.html">My page</a>
<!-- Encode spaces inside query values when needed -->
<a href="results.html?topic=url%20encode">URL encode results</a>
Formulare und Browser helfen oft
Wenn ein Nutzer ein HTML-Formular mit method="get" absendet, kodieren Browser die Feldwerte typischerweise für dich in den Query-String. Das ersetzt nicht das Verständnis von %20, wenn du Logs liest, Links teilst oder href von Hand schreibst. Das Muster zu kennen macht Debugging schneller.
Nicht dasselbe wie HTML-Entities
Im HTML-Text ist & eine Entity für das Ampersand-Zeichen. In einer URL kann ein Ampersand, das Daten ist, als %26 erscheinen. Andere Werkzeuge, andere Kontexte. Ebenso geht es bei Datei-Charset UTF-8 um das Dekodieren der .html-Datei — es ersetzt Percent-Encoding in URLs nicht.
Nicht-ASCII in URLs (Anfängerhinweis)
Buchstaben außerhalb von Basic-ASCII können in echten Adressen als längere Percent-Sequenzen erscheinen. Du musst diese Tabellen in dieser Sitzung nicht auswendig lernen. Merke die Regel: Wenn ein Zeichen als Daten unsicher oder reserviert ist, trägt Percent-Encoding es in URLs. Für Lernseiten halte Demo-Queries in einfachem Latein plus %20, bis du dich wohlfühlst.
Übung in deinem Editor
- Erzeuge einen Link, dessen
hrefeine Query wie?q=hello%20worldenthält. - Öffne den Link und beobachte die Adressleiste.
- Ändere
%20im Quelltext in ein rohes Leerzeichen, lade neu und vergleiche, wie der Browser die URL normalisiert oder zerbricht. - Benenne eine Übungsdatei mit Bindestrichen statt Leerzeichen um und aktualisiere die Links.
- Schreibe einen Query-Wert, der
%26bräuchte, wenn ein Ampersand Teil der Daten wäre — und prüfe, dass du das strukturelle&zwischen Parametern nicht kodiert hast.
Typische Fehler
- Rohe Leerzeichen in URLs im Code einfügen, ohne das Ergebnis zu prüfen
- Das Schema
https://oder das ganze strukturelle Gerüst versehentlich percent-kodieren - HTML-Entities (
&) mit URL-Codes (%26) verwechseln - In jeden Dateinamen Leerzeichen setzen und hoffen, Kodierung rette die Navigation für immer
- Strukturelle
?/&/=kodieren, die zwischen Teilen URL-Syntax bleiben sollen
Zusammenfassung
- URL-Kodierung nutzt
%plus zwei Hex-Ziffern (Leerzeichen →%20) - Reservierte und unsichere Zeichen brauchen Kodierung, wenn sie Daten sind
- Bevorzuge einfache Dateinamen; kodiere Query-Werte, wenn du sie von Hand schreibst
- Formulare und Browser kodieren beim Absenden oft automatisch
- Percent-Encoding ist nicht dieselbe Aufgabe wie HTML-Entities oder Datei-Charset
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt