HTML - URL-Encoding

Hallo ihr zukünftigen Web-Entwickler! Heute tauchen wir in die faszinierende Welt der URL-Encoding ein. Keine Sorge, wenn ihr neu seid; wir beginnen mit den Grundlagen und arbeiten uns hoch. Am Ende dieses Tutorials werdet ihr wie ein Profi URL-Encodieren!

HTML - URL Encoding

Was ist URL-Encoding?

Bevor wir zu Beispielen übergehen, lassen uns verstehen, was URL-Encoding ist und warum es wichtig ist.

URL-Encoding ist eine Methode, Zeichen in ein Format umzuwandeln, das über das Internet übertragen werden kann. Es ist, als würde dein Text ein spezielles Visum erhalten, um sicher durch das Web zu reisen!

Stellt es euch so vor: Stellt euch vor, ihr wollt einen Brief mit einer aufwendigen Adresse, die Symbole und Leerzeichen enthält, versenden. Die Post könnte verwirrt sein! URL-Encoding ist so, als würde man diese Adresse so umschreiben, dass jeder Postbote (oder in unserem Fall jeder Webserver) sie verstehen kann.

Beispiel

Lassen wir mit einem einfachen Beispiel beginnen:

https://www.example.com/my file.html

Diese URL enthält ein Leerzeichen, das Probleme verursachen kann. Wenn wir es codieren, wird es zu:

https://www.example.com/my%20file.html

Seht ihr das %20? Das ist die URL-encodierte Version eines Leerzeichens. Cool, oder?

ASCII-Control-Zeichen-Encoding

Nun sprechen wir über ASCII-Control-Zeichen. Das sind besondere Zeichen, die bestimmen, wie Text verarbeitet wird. In der URL-Encoding müssen wir mit diesen besonders vorsichtig sein.

Hier ist eine Tabelle mit einigen häufigen ASCII-Control-Zeichen und ihren codierten Versionen:

Zeichen Codiert
NUL %00
SOH %01
STX %02
ETX %03

Zum Beispiel, wenn ihr ein NUL-Zeichen in einer URL einfügen müsstet (was selten ist), würdet ihr %00 verwenden.

Non-ASCII-Control-Zeichen-Encoding

Non-ASCII-Zeichen sind diejenigen außerhalb des Standard-ASCII-Satzes, wie Akzentzeichen oder Symbole aus anderen Alphabeten. Diese müssen ebenfalls besonders behandelt werden.

Schauen wir uns ein Beispiel an:

https://www.example.com/café

Wenn codiert, wird es zu:

https://www.example.com/caf%C3%A9

Das é wurde durch %C3%A9 ersetzt. Dies stellt sicher, dass Server auf der ganzen Welt dieses Zeichen korrekt interpretieren können.

Reserved-Character-Encoding

Einige Zeichen haben in URLs besondere Bedeutungen. Wir nennen diese reserved characters, und sie müssen codiert werden, wenn wir sie als reguläre Zeichen verwenden möchten.

Hier ist eine Tabelle der reserved characters und ihrer codierten Versionen:

Zeichen Codiert
! %21
# %23
$ %24
& %26
' %27
( %28
) %29
* %2A
+ %2B
, %2C

Schauen wir uns ein Beispiel an:

https://www.example.com/search?q=fish&chips

Diese URL verwendet das & als Trennzeichen zwischen Parametern. Wenn wir tatsächlich nach "fish & chips" suchen wollten, müssten wir es so codieren:

https://www.example.com/search?q=fish%26chips

Jetzt weiß der Server, dass wir nach "fish & chips" suchen und nicht nach zwei separaten Suchbegriffen!

Unsafe-Character-Encoding

Zuletzt sprechen wir über unsafe characters. Das sind Zeichen, die von verschiedenen Systemen missverstanden werden könnten und stets codiert werden sollten.

Hier ist eine Tabelle einiger unsafe characters:

Zeichen Codiert
Leerzeichen %20
" %22
< %3C
> %3E
# %23
% %25
{ %7B
} %7D
\ %5C
^ %5E
~ %7E

Schauen wir uns ein Beispiel an:

https://www.example.com/search?q=C++ Programming

Wenn korrekt codiert, wird es zu:

https://www.example.com/search?q=C%2B%2B%20Programming

Wir haben die + Zeichen und das Leerzeichen codiert, um sicherzustellen, dass sie korrekt interpretiert werden.

Alles zusammenfügen

Jetzt, da wir all diese Arten der Codierung abgedeckt haben, lassen uns ein komplexeres Beispiel versuchen:

https://www.example.com/search?q=Where's the café? (It's urgent!)

Wenn vollständig codiert, wird es zu:

https://www.example.com/search?q=Where%27s%20the%20caf%C3%A9%3F%20%28It%27s%20urgent%21%29

Das sieht ganz anders aus! Aber jetzt ist es sicher, um ohne das Risiko einer Fehlinterpretation über das Internet zu übertragen.

Schlussfolgerung

Und da habt ihr es, Leute! Ihr habt die ersten Schritte in die Welt der URL-Encoding unternommen. Denkt daran, während es am Anfang vielleicht komplex erscheinen mag, geht es darum, sicherzustellen, dass eure URLs korrekt interpretiert werden können, egal wo sie im Web hingehen.

Denkt an URL-Encoding als den universellen Übersetzer des Internets. Es hilft euren URLs, klar mit Servern auf der ganzen Welt zu kommunizieren, egal welche speziellen Zeichen oder Leerzeichen sie enthalten.

Während ihr eure Reise im Web-Entwickeln fortsetzt, werdet ihr feststellen, dass das Verständnis von URL-Encoding äußerst nützlich ist. Es wird euch helfen, robuste Links zu erstellen, Benutzerinput sicher zu handhaben und sogar knifflige URL-bezogene Probleme zu debuggen.

Übt weiter, und bald wird URL-Encoding für euch zur zweiten Natur. Frohes Coden und mögen alle eure URLs sicher durch das Web reisen!

Credits: Image by storyset