Clean URL
Ein Clean URL oder Pretty URL (deutsch sauberer URL bzw. hübscher URL) ist ein Uniform Resource Locator (URL), der lesbare Wörter anstelle von technischen Kürzeln oder Datenbank-IDs enthält. So sind im Pfad weder searchpart-<ref name="RFC1738, 3.3. HTTP" /> oder query-Komponenten<ref name="RFC3986, 3. Syntax Components" /> noch Dateinamenserweiterungen wie z. B. .html, .php oder andere Informationen zur verwendeten Servertechnik wie cgi-bin oder cgi enthalten. Stattdessen werden lesbare und beschreibende Titel oder lexikografische Lemmata, Kalenderdaten (meist der Erscheinung) und auch die Sprache des Inhalts (meist abgekürzt nach ISO 639) im URL verwendet.
In der Web-Entwicklung spricht man von "slug" und meint dabei den letzten Teil des URL-Pfads.
Es können auch Mischungen aus beiden Methoden auftreten, indem die ID zwar behalten wird, aber lesbare Worte hinzugefügt werden. In diesem Fall ist die ID das entscheidende Merkmal des URL und die Worte können verändert oder weggelassen werden.
In der Praxis ist es in der Regel gewollt, dass sich URLs aus dem Webbrowser als Lesezeichen ablegen und zu einem beliebigen späteren Zeitpunkt wieder aufrufen lassen können. Sie sollen auch an Dritte weitergegeben werden und von diesen aufgerufen werden können und dieselbe Aktion auslösen bzw. denselben Zustand erzeugen (etwa eine Suche durchführen).<ref name="useit" />
Beispiele
Ein Beispiel für sowohl saubere als auch sprechende URLs ist Wikipedia, deren URLs nach folgendem Schema aufgebaut sind:
<syntaxhighlight lang="html"> <Protokoll><Sprachcode>.wikipedia.org/wiki/<Artikelbezeichnung> </syntaxhighlight>
So sieht der URL für den Begriff Sonnenblume beispielsweise wie folgt aus
<syntaxhighlight lang="html"> https://de.wikipedia.org/wiki/Sonnenblume </syntaxhighlight>
anstatt eines URL, der Rückschlüsse zur Technik gestattet
<syntaxhighlight lang="html"> https://de.wikipedia.org/w/index.php?title=Sonnenblume </syntaxhighlight>
oder eines URL, die keinen Hinweis zum Inhalt gibt
<syntaxhighlight lang="html"> https://de.wikipedia.org/?curid=112763 </syntaxhighlight>
(alle angegebenen URL haben das gleiche Ergebnis)
Technik
Clean URLs lassen sich auf Webserver- und auf Webanwendungsebene umsetzen. Auf Webanwendungsebene muss jedoch auch der Webserver entsprechend konfiguriert sein.
Webserverebene
Die meisten Webserver wie Apache HTTP Server oder nginx können „saubere“ URLs mithilfe von .htaccess oder auch mit Rewrite-Engines realisieren.
Diese Module erlauben es, Anfragen anhand vorher definierter Regeln mithilfe von regulären Ausdrücken intern umzuschreiben, beziehungsweise umzuinterpretieren. So könnte beispielsweise die Anfrage von foo/bar dasselbe Ergebnis erzielen wie die Anfrage von /index.php?q=/foo/bar. Das CGI-Protokoll bietet eine weitere Technik, dabei sieht ein Skript aufgerufen als /index.php/foo/bar /foo/bar als PATH_INFO.<ref>Vorlage:RFC-Internet</ref>
Webanwendungsebene
Manche Web-Content-Management-Systeme beinhalten bereits passende Rewrite-Regeln, wodurch deren Aktivierung sehr einfach ist.
Vorteile
- Benutzer können die Relevanz von sprechenden URLs schneller bewerten (ein aussagekräftiger URL wird in der Regel eher angeklickt als ein kryptischer).
- Benutzer können sich die URLs leichter merken (und ähnliche Dateiendungen wie html oder htm müssen nicht mehr geraten werden).
- Externe Links und Lesezeichen auf eine Seite sind wesentlich länger gültig, da sie von internen technischen Änderungen unabhängig sind.<ref name="CoolURIs" />
- Bei der Suchmaschinen-Optimierung (dort auch sefURL für search engine friendly) werden im Suchmaschinenranking von Keywords neben dem Seiteninhalt auch Domain- und Dateinamen einzelner Seiten bewertet.<ref name="sefurl.de" />
Weblinks
- Tim Berners-Lee: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. World Wide Web Consortium, Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive )Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.
- Manual:Short URL – MediaWiki (englisch)
Einzelnachweise
<references> <ref name="sefurl.de"> Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Warum Sefurl?Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar): Skriptfehler: Ein solches Modul „Text“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden. </ref> <ref name="RFC1738, 3.3. HTTP"> Vorlage:RFC-Internet </ref> <ref name="RFC3986, 3. Syntax Components"> Vorlage:RFC-Internet</ref> <ref name="CoolURIs"> Tim Berners-Lee: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. World Wide Web Consortium, Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive )Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden. </ref> <ref name="useit"> Jakob Nielsen: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Nielsen Norman Group, Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive )Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden. </ref> </references>