Alles über Internet-Adresszusätze

URL, URI und Query-Strings

von - 01.07.2013

URL, URI – was ist eigentlich was?

Der für Webseiten am häufigsten verwendete Begriff URL steht für Uniform Resource Locator. Auf Deutsch heißt das so viel wie einheitlicher Quellenanzeiger. Eine URL lokalisiert eine Ressource wie eine Webseite und gibt dabei auch an, auf welche Weise darauf zugegriffen wird. Bei Webseiten steht daher das Kürzel „http://“ (Hypertext Transfer Protocol) vor der Adresse. Wenn man über FTP (File Transfer Protocol) auf eine  Adresse zugreift, dann beginnt die URL mit „ftp://“. Das Kürzel, das das Zugriffsprotokoll festlegt, nennt man Scheme.
URLs wiederum sind eine Unterart von URIs (Uniform Resource Identifier). Der Begriff bedeutet etwa einheitlicher Bezeichner für Ressourcen. Eigentlich sind URLs und URIs dasselbe. Daher verwendet man beide Begriffe häufig synonym. Die Unterscheidung ist historisch bedingt.

Eine URL verweist nicht nur auf Webseiten?

URL zur Festplatte: Hinter Internetadressen beziehungsweise URLs verbergen sich nicht nur Webseiten und FTP-Server. Hier verweist die Adresse „file:///C:/“ zur lokalen Festplatte
URL zur Festplatte: Hinter Internetadressen beziehungsweise URLs verbergen sich nicht nur Webseiten und FTP-Server. Hier verweist die Adresse „file:///C:/“ zur lokalen Festplatte
Neben den bereits erwähnten Beispielen für den Zugriff auf Webseiten und Dateiserver kann eine URL zum Beispiel auch auf eine E-Mail-Adresse verweisen. Dazu gibt man als Scheme, also als Zugriffsprotokoll, „mailto“ an. Ein Beispiel hierfür ist „mailto:peter@schmidt.de“.
URLs können auch auf lokale Dateien verweisen. Dazu verwendet man das Scheme „file:///“. Ein Beispiel: Wenn Sie in Ihrem Browser die Adresse file:///C:/ eingeben, dann sehen Sie den Inhalt Ihres lokalen Laufwerks „C:\“ .
Beachten Sie: URLs kennen den bei Dateipfaden in Windows üblichen Backslash „\“ nicht. In URLs trennen Sie Ordnerangaben stets mit „/“. Das gilt auch für URLs, die auf lokale Laufwerke verweisen.

Und was sind die Adresszusätze?

Adresszusätze sind eine Erweiterung der eigentlichen Internetadresse. Die Adresszusätze übergeben zum Beispiel durch ein Fragezeichen getrennt in Formulare eingegebene Suchbegriffe an den Webserver. Oder sie weisen den Browser an, direkt zu einer bestimmten Stelle auf einer Webseite zu scrollen.

Mit Fragezeichen werden Daten an den Server übermittelt?

Die Fragezeichen in Internetadressen zeigen an, das dahinter sogenannte Query-Strings folgen. Query-Strings sind Parameter, die vom Browser an den Webserver übermittelt werden. Der Server verarbeitet diese Parameter und sendet dann dem Browser eine individuelle Webseite zurück.
Ein Beispiel: Wenn Sie auf Youtube nach einem Video suchen, dann übergibt der Browser dem Server den Query-String „?search_query“. Der Parameter „search_query“ teilt dem Server mit, dass ein Suchbegriff folgt. Durch ein Gleichheitszeichen getrennt wird der Suchbegriff angehängt, etwa „?search_query=Barry“.
Wenn Sie nach mehreren Begriffen suchen, dann werden diese jeweils durch ein Pluszeichen getrennt, etwa „?search_query=Barry+Manilow“. Das Plus-Zeichen ist notwendig, da der Browser bei einem Leerzeichen davon ausgehen würde, dass die URL zu Ende ist. Er würde den nachfolgenden Teil nicht übertragen.

Was bedeutet das kaufmännische Und?

Mit einer URL lassen sich auch mehrere Query-Strings übergeben. So öffnet die Adresse „www.google.de/search?q=Helene+Fischer“ die Google-Webseite mit Suchergebnissen zu den Begriffen „Helene“ und „Fischer“. Die Google-Server sind so konfiguriert, dass sie den Wert des Parameters „q=“ als Suchbegriff interpretieren.
Nun lässt sich ein weiterer Query-String anhängen. Um etwa die englischsprachige Google-Webseite anzuzeigen, übermitteln Sie zusätzlich durch ein kaufmännisches Und getrennt den Parameter „hl=en“. Die gesamte URL lautet dann „www.google.de/search?q=Helene+Fischer&hl=en“.

Was bedeutet „?no_cache_1“?

Dabei handelt es sich um einen Parameter, der den Webserver anweist, die abgerufene Seite nicht zwischenzuspeichern. So nutzen den Query-String „?no_cache=“ zum Beispiel Webseiten mit dem Content-Management-System Typo 3.
Der Hintergrund: Wenn Sie eine Webseite abrufen, dann handelt es sich oft um keine statische, sondern um eine dynamische Seite. Das bedeutet, die Seite wird vor dem Ausliefern vom Server aus vielen Einzelteilen wie einer Navigationsleiste, dem eigentlichen Text und so weiter zusammengebaut. Damit das Ausliefern von dynamischen Seiten bei erneutem Aufrufen schneller geht, speichert zum Beispiel Typo 3 diese fertigen Seiten in einem Zwischenspeicher, Cache genannt.
Bei Webseiten, die ständig etwas Neues anzeigen, zum Beispiel zufällige Inhalte, kann ein solcher Zwischenspeicher allerdings das erneute Ausliefern der Seite sogar verzögern. Daher öffnet man solche Seiten mit dem Query-String „?no_cache=1“, um dem Server mitzuteilen, dass er sie nicht zwischenspeichert soll. Der Query-String ist also harmlos und kann beim Weitergeben eines Links weggelassen werden.

Manche Webadressen enthalten merkwürdige Zeichen wie „%20“

Dabei handelt es sich um URL-Encoding, also das Kodieren der URL. Das ist notwendig, weil einige Zeichen nicht in einem Query-String vorkommen dürfen. Wenn zum Beispiel ein Parameter ein Gleichheitszeichen im Namen hätte, dann wäre für den Server nicht klar,ob das Gleichheitszeichen zum Parameternamen gehört oder ob es den Parameter und dessen Wert trennt.
Wenn nun ein Parameter oder dessen Wert ein Sonderzeichen beinhaltet, dann muss dieses Zeichen speziell kodiert werden. Ein Leerzeichen wird im Query-String zum Beispiel zu einem Plus-Zeichen, wie in dem genannten Beispiel mit mehreren Suchbegriffen.
Aber auch ohne Query-Strings kommt das URL-Encoding zum Einsatz, zum Beispiel dann, wenn ein Pfad zu einer Ressource auf einem Webserver ein Leerzeichen enthält.
Da der Browser davon ausgeht, dass eine Internetadresse mit einem Leerzeichen zu Ende ist, würde er den dahinter stehenden Teil ignorieren. Somit ist die Internetadresse „www.schmidt.de/Meine Bilder“ zwar möglich, der Browser öffnet aber nur die Adresse „www.schmidt.de/Meine“.
Und hier kommt URL-Encoding ins Spiel: Man kodiert einfach das Leerzeichen, es wird zu einem „%20“. Und wenn man die Adresse „www.schmidt.de/Meine%20Bilder“ öffnet, dann klappt das auch mit dem Leerzeichen.
Für alle Sonderzeichen gibt es eine passende Kodierung mit dem Prozentzeichen.
Verwandte Themen