URL
URL steht fuer 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 enthaelt alle Informationen, die benoetigt werden, um ein bestimmtes Ziel zu erreichen - vom Protokoll (wie du hinkommst) ueber 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 vollstaendige 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 fuer den Zugriff verwendet wird. Es endet mit einem Doppelpunkt, gefolgt von zwei Schraegstrichen bei Web-URLs. Die gaengigsten Schemata sind:
- https: Verschluesselte Webseiten (Standard heute)
- http: Unverschluesselte 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 aufgeloest, damit der Browser den richtigen Server kontaktieren kann.
Port
Der Port gibt an, ueber 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 Schraegstrich und kann mehrere durch Schraegstriche getrennte Segmente enthalten - aehnlich 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 zusaetzliche Daten, die an den Server uebergeben werden. Sie bestehen aus Schluessel-Wert-Paaren, die durch & getrennt werden. Query-Parameter werden haeufig fuer 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 vollstaendigen 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 |
Verschluesseltes 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 fuer 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 fuer 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 Verstaendnis der Unterschiede hilft dir, technische Dokumentationen besser zu verstehen.
URI (Uniform Resource Identifier)
URI ist der Oberbegriff und bezeichnet jede Art von eindeutiger Kennung fuer eine Ressource. Sowohl URLs als auch URNs sind spezielle Formen von URIs. In RFC 3986 ist die allgemeine Syntax fuer 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 gueltig, 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 |
| Enthaelt Standort | Moeglich | Ja, immer | Nein |
| Enthaelt Protokoll | Moeglich | 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 haeufigste 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 duerfen nur bestimmte ASCII-Zeichen enthalten. Sonderzeichen, Umlaute und Leerzeichen muessen URL-kodiert (auch: Prozent-Kodierung) werden. Dabei wird jedes problematische Zeichen durch ein Prozentzeichen gefolgt von seinem hexadezimalen Wert ersetzt.
Haeufige 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 |
Schraegstrich |
| ? | %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 moechtest (z.B. in einem Suchbegriff), muessen sie kodiert werden.
Nicht-reservierte Zeichen koennen ohne Kodierung verwendet werden:
- Buchstaben:
A-Z,a-z - Ziffern:
0-9 - Sonderzeichen:
-,.,_,~
Beispiel fuer URL-Encoding
Wenn du nach "Prüfung IHK 2024" suchen moechtest, 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 uebernehmen die URL-Kodierung automatisch. In JavaScript nutzt du dafuer 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 vollstaendige Adresse inklusive Schema und Host. Sie funktionieren unabhaengig 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 aufgeloest. Der Browser ergaenzt 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 hoeher -->
<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 fuer 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 aussagekraeftig
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 Moeglichkeit, 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 fuer URLs
Gut gestaltete URLs verbessern die Benutzerfreundlichkeit und das Suchmaschinen-Ranking. Hier sind bewaehrte Empfehlungen:
- Kurz und praegnant: 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 verschluesselte Verbindungen nutzen
- Konsistente Struktur: Einheitliche URL-Muster auf der gesamten Website
URLs in der IT-Praxis
Das Verstaendnis von URLs ist grundlegend fuer die Arbeit im IT-Bereich. Als Fachinformatiker fuer Anwendungsentwicklung arbeitest du taeglich mit URLs - beim Routing in Web-Frameworks, beim Design von APIs oder bei der Implementierung von Weiterleitungen.
Als Fachinformatiker fuer Systemintegration begegnest du URLs bei der Konfiguration von Webservern, Load Balancern und Reverse Proxies. Das Verstaendnis von URL-Komponenten hilft dir, Fehler in Webanwendungen zu diagnostizieren und Netzwerkprobleme zu analysieren.
Quellen und weiterfuehrende Links
- RFC 3986 - URI Generic Syntax - Offizielle Spezifikation
- WHATWG URL Standard - Lebender Standard fuer Browser
- MDN Web Docs: URL - JavaScript URL-API
- Wikipedia: URL - Allgemeine Einfuehrung