URL und Ressourcen
In dieser interaktiven Lektion lernst du den Aufbau und die Bestandteile von URLs kennen - von Protokoll und Domain bis zu Pfad und Parametern. Du verstehst, wie URLs Ressourcen im Internet eindeutig adressieren und wie sie in der Webentwicklung korrekt verwendet werden. Diese Grundlagen sind essentiell für die Entwicklung von Webanwendungen und das Debugging von HTTP-Kommunikation.
Einführung
Jedes Mal, wenn du eine Website aufrufst, funktioniert dein Browser wie ein hochpräziser Paketbote. Er braucht eine exakte Adresse, um das richtige Paket an den richtigen Ort zu liefern – sonst landet dein Inhalt im Nirgendwo.

Diese Adresse ist die URL. Doch was, wenn die Adresse Sonderzeichen enthält, falsch geschrieben ist oder unvollständig übergeben wird? Dann scheitert die Zustellung. Genau wie im echten Leben braucht es klare Regeln für Adressen und eine gute Kenntnis darüber, was geliefert werden soll – das sind die Ressourcen.
In dieser Lerneinheit erfährst du, wie eine URL technisch aufgebaut ist, warum manche Zeichen kodiert werden müssen und was der Unterschied zwischen statischen und dynamischen Ressourcen ist. So verstehst du, wie du Internetadressen richtig nutzt und welche Inhalte über sie verfügbar gemacht werden.
Lernziele
Nach dieser Lerneinheit kannst du:
- die einzelnen Komponenten einer URL benennen und ihre jeweilige Funktion erklären, z. B. Schema, Host, Pfad oder Fragment.
- absolute und relative URLs unterscheiden und typische Einsatzszenarien zuordnen, z. B. interne Verlinkungen oder externe Ressourcen.
- das Prinzip der URL-Kodierung (Percent-Encoding) anwenden, um Sonderzeichen korrekt in URLs zu übertragen.
- statische und dynamische Ressourcen anhand ihrer Eigenschaften und Einsatzgebiete differenzieren, insbesondere im Hinblick auf Caching und Serververhalten.
Überleitung
Wenn du im Internet eine Adresse eingibst – etwa https://www.example.com –, nutzt du eine sogenannte URL. In diesem Abschnitt lernst du die einzelnen Bestandteile dieser Adressen kennen und verstehst, wie sie zusammenspielen, um eine Ressource eindeutig zu identifizieren.
Wofür steht URL?
Eine URL (Uniform Resource Locator) ist die eindeutige Adresse einer Ressource im Internet. Sie besteht aus mehreren Komponenten, die jeweils eine spezifische Aufgabe erfüllen. Nur wenn alle Bausteine korrekt zusammenspielen, kann dein Browser die gewünschte Seite finden und laden.
Die Bestandteile einer URL
| Komponente | Funktion | Beispiel |
|---|---|---|
| Schema | Gibt das verwendete Protokoll an, z. B. http oder https. | https |
| Host | Domainname oder IP-Adresse des Servers. | www.example.com |
| Port | Zugangspunkt auf dem Server (Standard: 80 für HTTP, 443 für HTTPS). | :443 (optional) |
| Pfad | Gibt den Ort der Ressource auf dem Server an. | /articles/index.html |
| Abfrage | Schlüssel-Wert-Paare zur Übergabe von Parametern. Beginnt mit ? und trennt Paare mit &. | ?search=katze&sort=asc |
| Fragment | Interne Sprungmarke auf der Zielseite, beginnt mit #. | #abschnitt2 |
Beispielhafte vollständige URL:
https://www.example.com/articles/index.html?search=katze#abschnitt2
Hinweis: Der Port
443ist der Standard für HTTPS und muss meist nicht explizit angegeben werden.
Absolute und relative URLs
In der Webentwicklung unterscheidet man zwischen absoluten und relativen URLs. Diese unterscheiden sich in ihrem Umfang und Anwendungsbereich:
Absolute URLs
- Enthalten alle Komponenten: Schema, Host, (ggf. Port), Pfad, Abfrage und Fragment.
- Verweisen immer auf dieselbe Ressource, unabhängig vom aktuellen Standort im Web.
Beispiel:
https://www.example.com/index.html?search=abc#top
Relative URLs
- Beziehen sich auf die aktuelle Seite oder ein Basisverzeichnis.
- Fehlen Schema, Host und ggf. Port – diese Informationen werden automatisch ergänzt.
Formen relativer URLs:
| Art | Beispiel | Erklärung |
|---|---|---|
| Pfad-relativ | /about.html | Absoluter Pfad ab Root-Verzeichnis der Domain. |
| Dokument-relativ | other-page.html | Gleicher Ordner wie aktuelles Dokument. |
| Dokument-relativ | ../parent.html | Eine Ebene höher. |
| Dokument-relativ | subdir/child.html | Unterverzeichnis der aktuellen Seite. |
Relative URLs sind nützlich bei der internen Verlinkung in Webprojekten – etwa innerhalb eines Content-Management-Systems oder bei statischen Seitenstrukturen.
Überleitung
In diesem Abschnitt lernst du zwei zentrale Aspekte des Web kennen: die URL-Kodierung (Percent-Encoding) und die Arten von Ressourcen, die über eine URL abgerufen werden können.
URL-Kodierung (Percent-Encoding)
Die URL-Kodierung – auch Percent-Encoding genannt – ersetzt bestimmte Zeichen in einer URL durch % gefolgt von zwei Hexadezimalziffern. Diese stehen für den ASCII-Wert des jeweiligen Zeichens.
Warum ist Percent-Encoding notwendig?
Im URL-Standard sind nur bestimmte Zeichen uneingeschränkt erlaubt. Die übrigen müssen kodiert werden, um Übertragungsprobleme zu vermeiden. Es gibt drei Zeichengruppen:
- Unreserved: Alphanumerisch und
- . _ ~→ dürfen unverändert bleiben. - Reserved: Zeichen mit spezieller Bedeutung wie
: / ? # [ ] @ ! $ & ' ( ) * + , ; =→ müssen in bestimmten Kontexten kodiert werden. - Unsafe: Zeichen wie Leerzeichen → müssen immer kodiert werden.
Übersicht: Percent-Encoding-Tabelle
| Zeichen | Hex-Code | Kategorie |
|---|---|---|
| %20 | Unsafe |
? | %3F | Reserved |
& | %26 | Reserved |
@ | %40 | Reserved |
Ä | %C3%84 | UTF‑8-kodiert¹ |
¹ Nicht in ASCII enthalten, daher als UTF‑8-Bytefolge dargestellt.
Beispiele aus der Praxis
-
Leerzeichen in Pfad
- Original:
https://example.com/mein pfad/seite.html - Kodiert:
https://example.com/mein%20pfad/seite.html
- Original:
-
Query-Parameter mit Sonderzeichen
- Original:
?query=Katze & Hund - Kodiert:
?query=Katze%20%26%20Hund
- Original:
-
Übertragung eines URL-Teils als Parameter
- Original:
http://example.com/redirect?url=http://another.com?query=test - Kodiert:
http://example.com/redirect?url=http%3A%2F%2Fanother.com%3Fquery%3Dtest
- Original:
-
E-Mail-Adresse in URL
- Original:
http://example.com/register?email=benutzer@beispiel.com - Kodiert:
http://example.com/register?email=benutzer%40beispiel.com
- Original:
Arten von Ressourcen
Jede URL verweist auf eine Ressource. Dabei unterscheiden wir zwei Hauptarten:
| Ressourcentyp | Beschreibung | Caching |
|---|---|---|
| Statisch | Unveränderte Dateien wie HTML, CSS, JavaScript, Bilder oder PDFs. | Sehr gut geeignet |
| Dynamisch | Inhalte, die serverseitig je nach Anfrage erzeugt werden, z. B. durch PHP, Servlets oder APIs. | Meist ungeeignet |
Bedeutung für die Praxis
- Statische Ressourcen sind schnell und gut cachebar, weil sie sich selten ändern.
- Dynamische Ressourcen liefern aktuelle, oft personalisierte Inhalte – benötigen aber mehr Rechenleistung und lassen sich schlechter cachen.
Zusammenfassung und Ausblick
Zusammenfassung:
In den letzten beiden Abschnitten hast du die Grundlagen von URLs und ihren technischen Besonderheiten kennengelernt. Hier fassen wir die wichtigsten Inhalte zusammen:
Aufbau und Funktion von URLs
- Eine URL (Uniform Resource Locator) besteht aus mehreren Komponenten: Schema (z. B.
https), Host (z. B.www.example.com), Port, Pfad, Abfrage (?key=value) und Fragment (#ziel). - Absolute URLs enthalten alle Bestandteile und verweisen eindeutig auf eine Ressource.
- Relative URLs nutzen den Kontext der aktuellen Seite und enthalten nur Teile der URL (z. B. den Pfad).
URL-Kodierung (Percent-Encoding)
- Nur bestimmte Zeichen sind in URLs direkt erlaubt. Andere müssen kodiert werden – z. B. Leerzeichen als
%20. - Reserved-Zeichen (z. B.
&,?,@) haben spezielle Funktionen und müssen bei Bedarf kodiert werden. - Kodierung erfolgt durch
%gefolgt von zwei Hexadezimalziffern des ASCII-Werts oder bei Sonderzeichen (z. B.Ä) als UTF-8-Kodierung.
Ressourcenarten im Web
- Statische Ressourcen wie HTML, CSS, Bilder oder JS-Dateien ändern sich nicht mit jeder Anfrage und lassen sich gut cachen.
- Dynamische Ressourcen wie API-Antworten oder PHP-generierte Inhalte werden bei jedem Aufruf individuell erzeugt und sind weniger caching-freundlich.
Ausblick
Im nächsten Abschnitt tauchen wir tiefer in die Kommunikation im Web ein. Du lernst:
- wie eine HTTP-Anfrage aufgebaut ist (inkl. Header, Methode und Body),
- welche HTTP-Methoden es gibt (z. B.
GET,POST,PUT) und - wie dein Browser mit Servern über diese Nachrichtenformate kommuniziert.
Damit verstehst du nicht nur, wie Ressourcen identifiziert werden – sondern auch, wie sie über das Netz übertragen werden.