URL
URL steht für Uniform Resource Locator und bezeichnet die eindeutige Adresse einer Ressource im Internet. Mit einer URL gibst du genau an, wo sich eine Webseite, ein Bild, eine Datei oder eine andere Ressource befindet und wie sie abgerufen werden kann. Jedes Mal, wenn du eine Webadresse in deinen Browser eingibst, verwendest du eine URL.
Du kannst dir eine URL wie eine Postanschrift vorstellen: Sie enthält alle Informationen, die benötigt werden, um ein bestimmtes Ziel zu erreichen - vom Protokoll (wie du hinkommst) über die Domain (welches Haus) bis zum Pfad (welches Zimmer).
Aufbau einer URL
Eine URL folgt einer standardisierten Struktur, die in RFC 3986 definiert ist. Die vollständige Syntax lautet:
schema://[benutzer:passwort@]host[:port]/pfad[?query][#fragment]
Nicht alle Komponenten sind immer vorhanden. Die einzigen zwingend erforderlichen Bestandteile sind das Schema (Protokoll) und der Host (bei Web-URLs). Schauen wir uns die einzelnen Bestandteile genauer an:
Schema (Protokoll)
Das Schema steht am Anfang der URL und gibt an, welches Protokoll für den Zugriff verwendet wird. Es endet mit einem Doppelpunkt, gefolgt von zwei Schrägstrichen bei Web-URLs. Die gängigsten Schemata sind:
- https: Verschlüsselte Webseiten (Standard heute)
- http: Unverschlüsselte Webseiten
- ftp: Dateitransfer
- mailto: E-Mail-Adressen
- file: Lokale Dateien
- tel: Telefonnummern
Host (Domain oder IP-Adresse)
Der Host identifiziert den Server, auf dem die Ressource liegt. Dies kann ein Domainname wie www.example.de oder eine IP-Adresse sein. Der Domainname wird vom DNS-System in eine IP-Adresse aufgelöst, damit der Browser den richtigen Server kontaktieren kann.
Port
Der Port gibt an, über welchen Netzwerk-Port die Verbindung hergestellt wird. Er wird durch einen Doppelpunkt vom Host getrennt. Wenn kein Port angegeben ist, verwendet der Browser den Standardport des Protokolls:
- HTTP: Port 80
- HTTPS: Port 443
- FTP: Port 21
In der Praxis siehst du den Port selten, da Webserver meist die Standardports nutzen. Bei Entwicklungsumgebungen ist das anders - dort laufen Server oft auf Ports wie 3000, 8000 oder 8080.
Pfad
Der Pfad zeigt auf eine bestimmte Ressource innerhalb der Website. Er beginnt mit einem Schrägstrich und kann mehrere durch Schrägstriche getrennte Segmente enthalten - ähnlich wie Ordner auf deinem Computer. Der Pfad /blog/artikel/url-erklaerung deutet auf eine hierarchische Struktur hin.
Query-Parameter
Query-Parameter beginnen mit einem Fragezeichen und enthalten zusätzliche Daten, die an den Server übergeben werden. Sie bestehen aus Schlüssel-Wert-Paaren, die durch & getrennt werden. Query-Parameter werden häufig für Suchfunktionen, Filter oder Tracking verwendet.
https://shop.example.de/produkte?kategorie=elektronik&sortierung=preis&seite=2
Fragment (Anker)
Das Fragment beginnt mit einem Rautezeichen (#) und verweist auf einen bestimmten Abschnitt innerhalb der Seite. Das Fragment wird nicht an den Server gesendet, sondern vom Browser lokal verarbeitet, um zu einer bestimmten Stelle auf der Seite zu scrollen.
https://de.wikipedia.org/wiki/URL#Aufbau
Beispiel einer vollständigen URL
Hier ist ein Beispiel, das alle Komponenten einer URL zeigt:
https://benutzer:passwort@www.example.de:8080/pfad/zur/seite?name=wert&filter=aktiv#abschnitt
| Komponente | Wert | Beschreibung |
|---|---|---|
| Schema | https |
Verschlüsseltes HTTP-Protokoll |
| Benutzer | benutzer:passwort |
Authentifizierung (selten verwendet) |
| Host | www.example.de |
Domainname des Servers |
| Port | 8080 |
Netzwerk-Port |
| Pfad | /pfad/zur/seite |
Ressourcenpfad auf dem Server |
| Query | name=wert&filter=aktiv |
Parameter für den Server |
| Fragment | abschnitt |
Zielposition auf der Seite |
In der Praxis sehen die meisten URLs deutlich einfacher aus, da viele Komponenten optional sind. Eine typische URL für eine Webseite sieht so aus: https://www.example.de/kontakt
URL, URI und URN - Was ist der Unterschied?
Diese drei Begriffe werden oft verwechselt, haben aber unterschiedliche Bedeutungen. Das Verständnis der Unterschiede hilft dir, technische Dokumentationen besser zu verstehen.
URI (Uniform Resource Identifier)
URI ist der Oberbegriff und bezeichnet jede Art von eindeutiger Kennung für eine Ressource. Sowohl URLs als auch URNs sind spezielle Formen von URIs. In RFC 3986 ist die allgemeine Syntax für URIs definiert.
URL (Uniform Resource Locator)
URL ist ein URI, der angibt, wo eine Ressource zu finden ist und wie man sie abruft. URLs enthalten immer ein Zugriffsprotokoll und eine Adresse. Alle Webadressen, die du in deinem Browser verwendest, sind URLs.
URN (Uniform Resource Name)
URN ist ein URI, der eine Ressource eindeutig benennt, ohne ihren Standort anzugeben. URNs sind persistent und bleiben gültig, auch wenn die Ressource verschoben wird. Ein Beispiel ist die ISBN-Nummer eines Buches:
urn:isbn:978-3-446-44285-6
Vergleich auf einen Blick
| Aspekt | URI | URL | URN |
|---|---|---|---|
| Funktion | Identifiziert eine Ressource | Lokalisiert und ruft ab | Benennt dauerhaft |
| Enthält Standort | Möglich | Ja, immer | Nein |
| Enthält Protokoll | Möglich | Ja, immer | Nein |
| Beispiel | Beide unten | https://example.de |
urn:isbn:123 |
Im Alltag werden die Begriffe URI und URL oft synonym verwendet. Da URLs die mit Abstand häufigste Form von URIs sind, ist das in den meisten Faellen unproblematisch. Fuer technische Diskussionen oder Dokumentationen solltest du jedoch den korrekten Begriff verwenden.
URL-Encoding: Sonderzeichen in URLs
URLs dürfen nur bestimmte ASCII-Zeichen enthalten. Sonderzeichen, Umlaute und Leerzeichen müssen URL-kodiert (auch: Prozent-Kodierung) werden. Dabei wird jedes problematische Zeichen durch ein Prozentzeichen gefolgt von seinem hexadezimalen Wert ersetzt.
Häufige Kodierungen
| Zeichen | Kodiert | Beschreibung |
|---|---|---|
| Leerzeichen | %20 |
Haeufigste Kodierung |
| ä | %C3%A4 |
Deutscher Umlaut |
| ö | %C3%B6 |
Deutscher Umlaut |
| ü | %C3%BC |
Deutscher Umlaut |
| & | %26 |
Kaufmanns-Und |
| = | %3D |
Gleichheitszeichen |
| / | %2F |
Schrägstrich |
| ? | %3F |
Fragezeichen |
| # | %23 |
Raute |
Reservierte und nicht-reservierte Zeichen
RFC 3986 unterscheidet zwischen reservierten und nicht-reservierten Zeichen. Reservierte Zeichen wie /, ?, # und & haben in URLs eine besondere Bedeutung als Trennzeichen. Wenn du sie als Daten verwenden möchtest (z.B. in einem Suchbegriff), müssen sie kodiert werden.
Nicht-reservierte Zeichen können ohne Kodierung verwendet werden:
- Buchstaben:
A-Z,a-z - Ziffern:
0-9 - Sonderzeichen:
-,.,_,~
Beispiel für URL-Encoding
Wenn du nach "Prüfung IHK 2024" suchen möchtest, wird der Suchbegriff kodiert:
# Original-Suchbegriff
Prüfung IHK 2024
# URL-kodiert
https://suche.example.de/?q=Pr%C3%BCfung%20IHK%202024
Moderne Browser und Programmiersprachen übernehmen die URL-Kodierung automatisch. In JavaScript nutzt du dafür encodeURIComponent(), in PHP urlencode().
Absolute vs. relative URLs
Bei der Webentwicklung unterscheidet man zwischen absoluten und relativen URLs. Beide haben ihre Einsatzgebiete und Vor- sowie Nachteile.
Absolute URLs
Absolute URLs enthalten die vollständige Adresse inklusive Schema und Host. Sie funktionieren unabhängig davon, wo sie verwendet werden.
<!-- Absolute URL -->
<a href="https://www.example.de/kontakt">Kontakt</a>
<img src="https://www.example.de/bilder/logo.png" alt="Logo">
Relative URLs
Relative URLs geben nur den Pfad an und werden relativ zur aktuellen Seite aufgelöst. Der Browser ergänzt automatisch Schema und Host der aktuellen Seite.
<!-- Relative URLs - verschiedene Varianten -->
<a href="/kontakt">Kontakt</a> <!-- Vom Root der Domain -->
<a href="kontakt.html">Kontakt</a> <!-- Im gleichen Verzeichnis -->
<a href="../impressum">Impressum</a> <!-- Eine Ebene höher -->
<a href="./bilder/foto.jpg">Foto</a> <!-- Unterverzeichnis -->
Wann welche URL verwenden?
| Situation | Empfehlung |
|---|---|
| Interne Links innerhalb einer Website | Relative URLs |
| Links zu externen Websites | Absolute URLs |
| Canonical-Tags (SEO) | Absolute URLs |
| Sitemap.xml | Absolute URLs |
| E-Mail-Templates | Absolute URLs |
| Entwicklungs-/Staging-Umgebungen | Relative URLs |
Relative URLs haben den Vorteil, dass sie bei einem Domain-Wechsel oder auf Staging-Servern ohne Anpassung funktionieren. Absolute URLs sind dagegen eindeutig und vermeiden Probleme mit unterschiedlichen Protokollen (HTTP vs. HTTPS).
URLs in der Webentwicklung
URLs spielen in der Webentwicklung eine zentrale Rolle. Sie sind nicht nur Adressen, sondern auch ein wichtiges Element für Benutzerfreundlichkeit, SEO und API-Design.
Sprechende URLs (Clean URLs)
Moderne Websites verwenden sprechende URLs, die den Inhalt beschreiben und leicht zu lesen sind. Sie verbessern sowohl die Benutzererfahrung als auch das Suchmaschinen-Ranking.
# Schlecht - nicht aussagekräftig
https://shop.de/product.php?id=12345&cat=7
# Gut - sprechende URL
https://shop.de/elektronik/smartphones/samsung-galaxy-s24
RESTful URLs
Bei der Entwicklung von REST-APIs folgen URLs bestimmten Konventionen. Ressourcen werden durch Substantive im Plural dargestellt, und HTTP-Methoden definieren die Aktion:
GET /api/users # Alle Benutzer abrufen
GET /api/users/123 # Benutzer mit ID 123
POST /api/users # Neuen Benutzer erstellen
PUT /api/users/123 # Benutzer 123 aktualisieren
DELETE /api/users/123 # Benutzer 123 loeschen
URL-Manipulation in JavaScript
JavaScript bietet mit dem URL-Objekt eine komfortable Möglichkeit, URLs zu analysieren und zu manipulieren:
const url = new URL('https://example.de/pfad?name=wert#abschnitt');
console.log(url.protocol); // "https:"
console.log(url.hostname); // "example.de"
console.log(url.pathname); // "/pfad"
console.log(url.search); // "?name=wert"
console.log(url.hash); // "#abschnitt"
// Query-Parameter manipulieren
url.searchParams.set('seite', '2');
console.log(url.href); // "https://example.de/pfad?name=wert&seite=2#abschnitt"
Best Practices für URLs
Gut gestaltete URLs verbessern die Benutzerfreundlichkeit und das Suchmaschinen-Ranking. Hier sind bewährte Empfehlungen:
- Kurz und prägnant: Vermeide unnoetig lange URLs
- Aussagekraeftig: Die URL sollte den Inhalt beschreiben
- Kleinschreibung: Verwende durchgehend Kleinbuchstaben
- Bindestriche statt Unterstriche:
/url-erklaerungstatt/url_erklaerung - Keine Sonderzeichen: Vermeide Umlaute und Sonderzeichen im Pfad
- Keine Dateiendungen:
/kontaktstatt/kontakt.html - HTTPS verwenden: Immer verschlüsselte Verbindungen nutzen
- Konsistente Struktur: Einheitliche URL-Muster auf der gesamten Website
URLs in der IT-Praxis
Das Verständnis von URLs ist grundlegend für die Arbeit im IT-Bereich. Als Fachinformatiker für Anwendungsentwicklung arbeitest du täglich mit URLs - beim Routing in Web-Frameworks, beim Design von APIs oder bei der Implementierung von Weiterleitungen.
Als Fachinformatiker für Systemintegration begegnest du URLs bei der Konfiguration von Webservern, Load Balancern und Reverse Proxies. Das Verständnis von URL-Komponenten hilft dir, Fehler in Webanwendungen zu diagnostizieren und Netzwerkprobleme zu analysieren.
Quellen und weiterführende Links
- RFC 3986 - URI Generic Syntax - Offizielle Spezifikation
- WHATWG URL Standard - Lebender Standard für Browser
- MDN Web Docs: URL - JavaScript URL-API
- Wikipedia: URL - Allgemeine Einführung