Sollte ich Leerzeichen in URLs umwandeln?

Leerzeichen haben in URLs nichts zu suchen und müssen korrekt Encodiert sein.


Wenn es um die Frage geht, ob Leerzeichen in URLs benutzt werden können, ergibt ein schneller Blick in die Referenz zu den Universal Resource Identifiers in WWW. Dort finden sich Leerzeichen als „Unsafe characters“ wieder, die nicht unencoded genutzt werden sollen.

Die nächste Frage ist damit ob Leerzeichen als %20 oder mit einem + ausgeschrieben werden sollen. Hierzu hilft uns John Müller auf Google+ weiter:

Bei Johns Antwort, „Im Query String kannst Du beides nutzen, während im Rest der URL %20 genutzt werden soll„, hilft es kurz zu erklären welche Teile der URL er meint.

Nehmen wir dazu das Beispielbild aus unserem Artikel „Was ist der Unterschied zwischen einer URL, Domain, Subdomain, Hostnamen usw.?„:

Der Query String ist der Teil hinter dem ?, ab dem die Parameter beginnen.

Im http://www.youtube.com/watch Teil darf nur %20 anstelle von Leerzeichen benutzt werden. Ab v=QhcwLyyEjOA könnte man bei einem Leerzeichen entscheiden, ob ein + oder %20 genutzt werden soll.

Damit es nicht langweilig wird, gibt es in Abschnitt 8.2.1. des Hypertext Markup Language – 2.0 RFC noch die Information, dass die standardmäßige Encodierung für Formulare application/x-www-form-
urlencoded
ist und dort Leerzeichen mit dem + ausgetauscht werden sollen.

Es bleibt damit nur noch einen weisen Programmierer zum Thema zu zitieren:

„Url-Encoding ist die Hölle“