- Lernen
- Informatik & Informationswissenschaften
- Programmierung
- HTML und CSS – barrierefreie, responsive Webseiten erstellen
- Browser, Server und HTTP-Anfragen
So funktioniert das Web: Browser, Server und HTTP-Anfragen
AnfängerEinheit 1 von 8 in Kurs: HTML und CSS – barrierefreie, responsive Webseiten erstellen
Was du lernst
- Erkläre die Aufgaben von Clients und Servern und vollziehe die wichtigsten Schritte von der Eingabe einer Webadresse bis zur fertigen Seite nach, einschließlich möglicher Fehler bei jedem Schritt.
- Erkläre Clients, Server und den Anfrage-Antwort-ZyklusBeschreibe, was Clients und Server sind, wie ein Browser Dateien von einem Server anfordert und warum für eine Seite meist viele Anfragen nötig sind.
- Vollziehe die Schritte von der Adressleiste bis zur fertigen Seite nachBringe die wichtigsten Schritte in die richtige Reihenfolge (Adresse lesen, Server finden, Anfrage senden, Antwort empfangen und Seite aufbauen) und benenne mögliche Fehler bei jedem Schritt.
- Erkläre Clients, Server und den Anfrage-Antwort-Zyklus
- Zerlege eine Webadresse, erkläre, was jeder Bestandteil dem Browser und dem Server mitteilt, lies Domainnamen richtig und erstelle funktionierende Links zwischen den Dateien einer Website.
- Benenne die Bestandteile einer URLErkenne URL-Schema, Host, Port, Pfad, Query-String und Fragment einer Webadresse und erkläre ihre jeweiligen Aufgaben.
- Lies Domainnamen und erkläre, wie sie zu einem Server führenZerlege einen Domainnamen in seine DNS-Labels, erkläre, wer eine Domain kontrolliert, und beschreibe, wie ein Name registriert und mit der Adresse eines Servers verknüpft wird.
- Erstelle absolute und relative Links zwischen DateienWähle zwischen absoluten, relativen und wurzelrelativen Adressen, ermittle das Ziel eines relativen Links und benenne Dateien so, dass Links auf einem Server weiterhin funktionieren.
- Benenne die Bestandteile einer URL
- Beschreibe, was ein Browser an einen Server sendet und was zurückkommt, und erkenne anhand von Statuscodes, ob eine Anfrage erfolgreich war und, falls nicht, wo das Problem liegt.
- Beschreibe die Bestandteile einer HTTP-AnfrageLies die Bestandteile einer HTTP-Anfrage, wähle zwischen GET und POST und erkläre, was die häufigen Anfrage-Header dem Server mitteilen.
- Beschreibe die Bestandteile einer HTTP-AntwortLies Statuszeile, Header und Nachrichtenkörper einer Antwort, erkläre MIME-Typen und beschreibe, wie Cookies und Caching auf einem zustandslosen Protokoll aufbauen.
- Deute Statuscodes und ermittle die Ursachen fehlgeschlagener AnfragenOrdne Statuscodes ihren fünf Klassen zu, erkläre die häufigsten Codes und entscheide anhand dieser Codes, ob ein Problem bei der Anfrage, beim Server oder bei keinem von beiden liegt.
- Beschreibe die Bestandteile einer HTTP-Anfrage
- Erkläre, was jede der drei Sprachen des Webs tut, wie sie auf einer Seite verbunden sind und wie der Browser aus den empfangenen Dateien eine Seite macht, die du sehen und nutzen kannst.
- Unterscheide Struktur, Darstellung und VerhaltenErkenne HTML-, CSS- und JavaScript-Code, erkläre die Aufgabe jeder Sprache und zeige, wie eine Seite sie miteinander verknüpft.
- Erkläre, wie der Browser eine Seite aus ihren Dateien aufbautBeschreibe, wie der Browser HTML in das DOM umwandelt, CSS anwendet, Skripte ausführt und die Seite zeichnet, und erkläre, warum sich der Seitenquelltext und die aktuelle Seite unterscheiden können.
- Unterscheide Struktur, Darstellung und Verhalten
- Richte einen Code-Editor und einen Projektordner ein, sieh dir Seiten lokal an und untersuche mit den Entwicklerwerkzeugen des Browsers Elemente und Stile, lies Fehler und verfolge jede Anfrage einer Seite.
- Richte einen Code-Editor und einen Projektordner einInstalliere und konfiguriere einen Code-Editor, organisiere die Dateien einer Website in einem Projektordner und sieh dir Seiten von der Festplatte oder über einen lokalen Server an.
- Untersuche Elemente, Stile und Fehler mit den EntwicklerwerkzeugenÖffne die Entwicklerwerkzeuge, untersuche und bearbeite HTML und CSS vorübergehend, lies Konsolenfehler und sieh dir eine Seite in Smartphonebreite an.
- Verfolge jede Anfrage im NetzwerkbereichZeichne einen Seitenladevorgang auf, lies Status, Typ, Größe und Header jeder Anfrage und finde mit dem Bereich defekte Links, Weiterleitungen und Auswirkungen des Cachings.
- Richte einen Code-Editor und einen Projektordner ein
Browser, Server und HTTP-Anfragen einfach erklärt
1Von deinem Browser zu einem Webserver
Das Öffnen einer Seite beginnt mit einem Austausch zwischen deinem Browser und einem oder mehreren Servern. Verfolge diesen Austausch von der ersten Adresse bis zu den Dateien, die deinen Bildschirm füllen. Wenn du die einzelnen Schritte unterscheidest, kannst du erklären, warum Text vor Bildern erscheinen kann, ein zweiter Besuch möglicherweise schneller lädt und eine fehlende Datei eine andere Art von Fehler verursacht als ein nicht erreichbarer Server.
1.1 Clients, Server und einzelne Ressourcen
Eine Webseite auf deinem Bildschirm entsteht durch Arbeit an zwei Stellen. Dein Browser fordert Ressourcen an, und ein Server sendet Antworten. Diese Rollen erklären sowohl eine einfache persönliche Website als auch eine Seite, die aus mehreren Diensten zusammengestellt wird.
Wer anfragt und wer antwortet
Ein Client ist ein Gerät und ein Programm, das etwas anfordert. Chrome, Edge, Firefox und Safari sind Browser-Clients. Ein Server ist ein Computer, auf dem Software läuft, die Anfragen entgegennimmt und gespeicherte Dateien oder selbst erzeugte Inhalte zurücksendet. Apache und nginx sind Beispiele für Webserversoftware. Das Wort „Server“ kann den Computer oder diese Software bezeichnen.
Bei einem HTTP-Austausch sendet der Client eine Anfrage, in der steht, was er möchte. Der Server sendet eine Antwort auf diese Anfrage. Stell dir eine Essensbestellung an einer Theke vor: Der Bestellzettel fordert etwas an und das Tablett ist die Antwort. Der Browser beginnt den Austausch; eine gewöhnliche Seitenantwort beantwortet eine Anfrage.
Client und Server sind Rollen und keine festen Maschinentypen. Auf einem Laptop können sowohl dein Browser als auch ein Testserver laufen. Eine Website wird gehostet, wenn ein erreichbarer Server ihre Ressourcen bereitstellt. Ein über localhost erreichter Server läuft auf deinem eigenen Computer; diese Adresse führt den Browser einer anderen Person nicht zu deinem Laptop.
Eine Seite ist eine Sammlung von Ressourcen
Eine Ressource ist etwas, das eine Adresse identifizieren kann: eine Seite, ein Stylesheet, ein Skript, ein Bild, eine Schriftart, ein Video oder ein Datenelement. Die erste Seitenanfrage ruft meist HTML ab. Der Browser liest dieses HTML, um die weiteren benötigten Ressourcen zu finden, und fordert jede einzeln an.
Ein Artikel nennt zum Beispiel zwei Stylesheets, ein Skript und fünf Bilder. Zähle auch das HTML mit:
- Eine HTML-Ressource bildet den Anfang der Seite.
- Zwei CSS-Ressourcen liefern ihre Stile.
- Eine JavaScript-Ressource liefert Verhalten.
- Fünf Bildressourcen liefern Bilder.
Das ergibt neun Ressourcen und bei leerem Browsercache neun HTTP-Anfragen für diese Ressourcen. Ein Cache speichert heruntergeladene Kopien zur Wiederverwendung. Frische Dateien im Cache können bei einem weiteren Besuch die Zahl der Anfragen über das Netzwerk verringern.
Die Ressourcen müssen nicht auf demselben Server liegen. Das HTML kann von www.example.com kommen, Bilder von images.example.net und ein Video von einem anderen Dienst. Die Adresse jeder Ressource sagt dem Browser, wo er sie anfordern muss. Eine erfolgreiche HTML-Anfrage belegt daher nicht, dass auch jedes Bild und Skript geladen wurde.
Gespeicherte Dateien und erzeugte Antworten
| Art der Antwort | Wie der Server sie vorbereitet | Beispiel |
|---|---|---|
| Statisch | Sendet eine gespeicherte Datei unverändert | Eine Seite about.html |
| Dynamisch | Führt ein Programm aus, um die Antwort zu erzeugen | Suchergebnisse für eine bestimmte Abfrage |
In beiden Fällen erhält der Browser Ressourcen, die er lesen oder anzeigen kann. Eine erzeugte HTML-Seite ist immer noch HTML, wenn sie den Browser erreicht. Der Browser enthält heruntergeladene Kopien, während der Server die Originaldateien der Website oder das Programm zu ihrer Erzeugung bereithält.
Das Web läuft über das Internet
Das Internet ist das weltweite Netzwerk, das Daten zwischen Computern überträgt. Das Web ist ein Dienst, der dieses Netzwerk nutzt: verknüpfte Ressourcen, die über URLs adressiert und über HTTP ausgetauscht werden. Auch E-Mails, Onlinespiele und Videoanrufe nutzen das Internet. Das Web ist eine Nutzung des Netzwerks und nicht die Bezeichnung für jede Aktivität darin.
Wichtige Erkenntnisse
- Ein HTTP-Austausch beginnt mit einer Clientanfrage, auf die der Server antwortet.
- Eine Seite benötigt meist für jede Ressource eine eigene Anfrage, sofern keine nutzbare Kopie im Cache vorliegt.
- Client und Server bezeichnen Rollen; ein Computer kann beide übernehmen.
- Statische Dateien sind gespeicherte Antworten; dynamische Antworten werden von Serverprogrammen erzeugt.
- Das Web ist ein Dienst, der über das Internet läuft.
1.2 Die Schritte beim Laden einer Seite
Wenn du bei einer Webadresse die Eingabetaste drückst, beginnen mehrere Aufgaben. Jede hat eine andere Funktion, sodass ein Fehler in einer Phase andere Anzeichen hinterlässt als ein Fehler in einer anderen.
Adresse lesen und Server finden
Nimm https://www.example.com/news.html. Der Browser liest https als Schema, www.example.com als Host und /news.html als angeforderten Pfad. Text wie „weather tomorrow“ wird normalerweise als Suche behandelt und stattdessen an die Standardsuchmaschine gesendet.
Der Browser braucht eine IP-Adresse, eine numerische Netzwerkadresse wie 203.0.113.10 oder das IPv6-Beispiel 2001:db8::1. DNS findet Adressen, die Domainnamen zugeordnet sind. Browser und Betriebssystem können eine kürzlich erhaltene DNS-Antwort aus einem Cache wiederverwenden, sodass nicht bei jedem Seitenbesuch eine neue Abfrage nötig ist.
Verbindung herstellen und Austausch schützen
Der Browser verbindet sich mit dem Server. Für HTTPS richtet er mit TLS eine verschlüsselte Verbindung ein. Der Server legt ein Zertifikat vor, mit dem der Browser seine Identität für die angeforderte Domain prüfen kann. Die Verschlüsselung schützt die Nachrichten davor, von anderen im Netzwerk gelesen oder verändert zu werden. Ein Hinweis auf eine sichere Verbindung beschreibt diesen Schutz; auch eine betrügerische Website kann ein gültiges Zertifikat haben.
Daten gelangen in kleinen Stücken, sogenannten Paketen, über Geräte namens Router durch das Netzwerk und werden am Ziel zusammengesetzt. Browser und Betriebssystem kümmern sich um diesen Transport, während der Browser mit den HTTP-Nachrichten arbeitet.
Anfordern, empfangen und aufbauen
- Der Browser sendet eine HTTP-Anfrage für
/news.html. - Der Server antwortet mit einem Statuscode, Headern zur Beschreibung der Antwort und meist einem Nachrichtenkörper mit dem HTML.
- Der Browser liest das HTML und fordert die darin genannten Stylesheets, Skripte, Bilder und anderen Ressourcen an.
- Er baut die Seite auf, wendet Stile an, führt Skripte aus und zeichnet Inhalte auf dem Bildschirm.
Mehrere Ressourcenanfragen können sich zeitlich überschneiden. Der Browser kann Text anzeigen, bevor jedes Bild vollständig heruntergeladen ist; die Seite wird nach und nach aufgebaut.
Angenommen, das HTML einer kleinen Seite unter https://example.org/ nennt nur style.css und logo.png, beide auf demselben Host. Ohne passende Einträge im Cache braucht der eine Host eine DNS-Abfrage und die drei Ressourcen brauchen drei HTTP-Anfragen. Bei einem späteren Besuch erspart eine zwischengespeicherte DNS-Antwort diese Abfrage. Frische Kopien der Ressourcen können wiederverwendet und ältere Kopien beim Server geprüft werden. Eine Antwort 304 Not Modified bedeutet, dass eine gespeicherte Kopie noch aktuell ist und der Dateiinhalt nicht erneut gesendet werden muss.
Einen Fehler anhand seiner Anzeichen eingrenzen
| Anzeichen | Zu untersuchende Phase |
|---|---|
| Name kann nicht aufgelöst werden | DNS konnte keine Adresse finden |
| Zeitüberschreitung bei der Verbindung | Der Server konnte nicht rechtzeitig erreicht werden |
HTTP-Antwort 404 | Ein Server hat geantwortet, die angeforderte Ressource aber nicht gefunden |
| Text erscheint ohne Gestaltung | Prüfe die separate Stylesheet-Anfrage |
Bei einem DNS-Fehler gibt es keinen HTTP-Statuscode, weil keine HTTP-Antwort eingetroffen ist. Ein 404 ist anders: Der Server hat geantwortet. Chrome kann einen Namensfehler wie DNS_PROBE_FINISHED_NXDOMAIN anzeigen, aber der Wortlaut ist eine Browsermeldung und keine Serverantwort.
Wichtige Erkenntnisse
- Die Hauptreihenfolge lautet: URL lesen, Adresse finden, verbinden, anfordern, empfangen und aufbauen.
- DNS ordnet Namen Adressen zu; HTTPS schützt den HTTP-Austausch mit TLS.
- Der Browser kann Inhalte anzeigen, während andere Ressourcen noch geladen werden.
- Ein DNS- oder Verbindungsfehler kann auftreten, bevor eine HTTP-Antwort vorliegt.
2Lies Adressen und erstelle funktionierende Links
Eine Webadresse sagt dem Browser sowohl, wohin er sich verbinden als auch was er anfordern soll. Lerne, ihre Bestandteile zu unterscheiden, Domainnamen von rechts zu lesen und Links durch Ordner nachzuvollziehen. So kannst du einen irreführenden Hostnamen erkennen und ein fehlendes Bild oder Stylesheet reparieren. Dieselben Pfadregeln gelten, wenn du eine kleine Website lokal erstellst und wenn ihr Ordner von einem Webserver bereitgestellt wird.
2.1 Die Aufgaben der URL-Bestandteile
Eine URL adressiert eine Ressource. Der Domainname ist nur ein Teil dieser Adresse. Das vollständige Muster lautet scheme://host:port/path?query#fragment, wobei viele Adressen optionale Bestandteile weglassen.
Eine Adresse zerlegen
Lies diese Adresse in einzelnen Teilen:
https://shop.example.com:8443/products/shoes.html?color=blue&size=42#reviews
| Bestandteil | Wert | Aufgabe |
|---|---|---|
| Schema | https | Wählt verschlüsseltes HTTP |
| Host | shop.example.com | Benennt den Zielserver |
| Port | 8443 | Wählt einen Dienst an diesem Ziel |
| Pfad | /products/shoes.html | Identifiziert die anzufordernde Ressource |
| Query-String | color=blue&size=42 | Liefert zusätzliche Eingaben |
| Fragment | reviews | Identifiziert eine Stelle innerhalb der Seite |
Die Satzzeichen trennen die Bestandteile: : folgt auf das Schema, ? beginnt den Query-String und # beginnt das Fragment. Die Trennzeichen sind nicht Teil der Werte des Query-Strings oder Fragments.
Schema, Host und Port
Das URL-Schema legt fest, wie die Adresse behandelt wird. http nutzt unverschlüsseltes HTTP, https verschlüsseltes HTTP. mailto:info@example.com fordert ein E-Mail-Programm auf, eine Nachricht zu erstellen, während file:/// eine lokale Datei adressiert.
Der Port wählt einen Dienst auf dem Host. Wird er weggelassen, nutzt HTTP Port 80 und HTTPS 443. Somit bezeichnen https://example.com/ und https://example.com:443/ dasselbe Ziel und denselben Pfad. Lokale Testserver nutzen häufig die Ports 3000, 5500 oder 8080; http://localhost:5500/ enthält seinen Port, weil dieser nicht der Standardport von HTTP ist.
Bei Schema und Host wird die Groß- und Kleinschreibung nicht unterschieden. Der Host www.example.com hat einen anderen Namen als example.com; beide erreichen eine Website nur, wenn ihr Betreiber sie entsprechend konfiguriert hat.
Pfad, Query-String und Fragment
Auf einer einfachen statischen Website folgt ein Pfad den Ordnern und Dateien des Servers. Auf anderen Websites entscheidet die Serversoftware, was ein Pfad zurückgibt. Ein Pfad muss daher keine Datei auf der Festplatte benennen. Eine Ordneradresse, die mit / endet, liefert häufig eine Standardseite wie index.html.
Ein Query-String überträgt Eingaben nach ?. In /search?q=web+basics&page=2 trennt & zwei Felder: die Suchwörter und die Seitennummer. Diese Felder gelangen als Teil des Anfrageziels zum Server.
Ein Fragment bleibt im Browser. Der Zusatz #reviews scrollt meist zu einem Element mit id="reviews". Der Browser fordert Pfad und Query-String ohne das Fragment an. Wenn nur #top zu #reviews geändert wird, fordert er keine andere Datei vom Server an.
Die genauen Zeichen beibehalten
Webpfade verwenden Schrägstriche /. Ein Leerzeichen kann als %20 prozentkodiert werden. Die Formularkodierung verwendet + für ein Leerzeichen und %40 für @; ein gewöhnlicher URL-Pfad oder Query-String kann ein unverändertes @ enthalten. Die Formularkodierung und die allgemeine Schreibweise von URLs folgen also nicht denselben Regeln.
Bei Pfaden kann die Groß- und Kleinschreibung unterschieden werden, bei Hosts dagegen nicht. /Images/Logo.png kann sich von /images/logo.png unterscheiden. Auch wenn du den Host korrekt kopierst, kannst du durch eine Änderung der Groß- und Kleinschreibung im Pfad die falsche Ressource anfordern.
Wichtige Erkenntnisse
- Eine URL trennt das Ziel von Pfad, Query-Eingaben und dem Fragment für den Browser.
- Die Standardports sind 80 für HTTP und 443 für HTTPS.
- Der Query-String erreicht den Server, das Fragment nicht.
- Bei Hosts wird die Groß- und Kleinschreibung nicht unterschieden, bei Pfaden möglicherweise schon.
- Verwende Schrägstriche in Webpfaden und kodiere Leerzeichen.
- Ein Adresspfad kann von Software verarbeitet werden, ohne einer gespeicherten Datei zu entsprechen.
2.2 Domainnamen und wer sie kontrolliert
Ein Domainname gibt Menschen einen lesbaren Namen, den sie anstelle einer numerischen IP-Adresse verwenden können. Seine durch Punkte getrennten Teile zeigen auch, wie der Name aufgebaut ist. Es ist wichtig, diese Teile richtig zu lesen, wenn zwei Adressen ähnliche Wörter enthalten.
Am rechten Ende beginnen
Jeder Teil zwischen Punkten ist ein DNS-Label. In blog.example.org ist das Label ganz rechts, org, die Top-Level-Domain oder TLD. Die registrierte Domain ist example.org, und blog ist eine über diese Domain kontrollierte Subdomain.
Zu den generischen TLDs gehören .com, .org, .net, .dev und .shop. Länderspezifische TLDs bestehen aus zwei Buchstaben, etwa .nl, .de, .jp, .br und .ca. Für manche gelten Zugangsregeln: .gov ist überprüften US-Regierungsorganisationen vorbehalten. Neue institutionelle .edu-Registrierungen setzen im Allgemeinen berechtigte, institutionell akkreditierte US-Einrichtungen des tertiären Bildungsbereichs voraus; einige Organisationen sind nach anderen Richtlinien berechtigt, und bei älteren Registrierungen kann es Ausnahmen geben. ICANN koordiniert die Namen der obersten Ebene des Domainnamensystems.
Ein registrierter Name besteht nicht immer nur aus den letzten beiden Labels. Unter .co.uk ist zum Beispiel der registrierte Name in news.example.co.uk gleich example.co.uk. Lies zuerst die öffentliche Endung und bestimme dann den darunter registrierten Namen.
Vertraute Wörter können in fremden Namen stehen
Vergleiche diese Hosts:
| Host | Kontrollierende registrierte Domain |
|---|---|
accounts.example.com | example.com |
example.com.signin.example.net | example.net |
Im zweiten Host sind die Wörter example.com Labels links von example.net. Sie geben dem Inhaber von example.com keine Kontrolle über die Adresse. Bestimme zunächst den Host und lies ihn dann von rechts; auch ein vertrauter Name in einem Pfad ist nicht der Host.
www ist ein gewöhnliches Subdomain-Label. Ein Websitebetreiber kann es verwenden, weglassen oder zwischen Namen weiterleiten. Das Web verlangt nicht, dass es vorhanden ist.
Registrierung und Hosting sind getrennt
Ein Registrar übernimmt Domainregistrierungen für Kunden. Eine Registry verwaltet die Einträge für eine TLD. Die Registrierung einer Domain gibt dir das Recht, diesen Namen für eine Laufzeit zu nutzen, meist ein oder mehrere Jahre. Du verlängerst die Registrierung, um dieses Recht zu behalten; ein abgelaufener Name kann irgendwann für jemand anderen verfügbar werden.
Anschließend konfiguriert der Inhaber DNS-Einträge, um den Namen mit der Adresse eines Hostingservers zu verknüpfen. Die Domain ist nicht mit den Dateien der Website gleichzusetzen. Derselbe Name kann auf einen anderen Server verweisen, und ein Server kann mehrere Domains bereitstellen. Zwischengespeicherte DNS-Antworten erklären, warum es Minuten oder Stunden dauern kann, bis eine geänderte Adresse überall sichtbar ist.
Namensregeln und lokale Namen
Gewöhnliche Host-Labels verwenden Buchstaben, Ziffern und Bindestriche, jedoch keinen Bindestrich am Anfang oder Ende. Jedes Label darf bis zu 63 Zeichen haben, ein gewöhnlicher vollständiger Name bis zu 253 Zeichen. Bei Namen wird die Groß- und Kleinschreibung nicht unterschieden. Internationalisierte Domainnamen unterstützen andere Schriftsysteme; ihre kodierten ASCII-Labels beginnen mit xn--.
Der spezielle Name localhost bezeichnet den Computer, der die Anfrage stellt. Zu seinen Loopback-Adressen gehören 127.0.0.1 und ::1. Öffnet ein Lernender http://localhost:3000/, sucht der Browser nach einem Dienst auf dessen eigenem Computer.
Wichtige Erkenntnisse
- Lies DNS-Labels von rechts nach links, um die registrierte Domain und ihre Subdomains zu bestimmen.
- Ein vertrauter Name links von einer anderen registrierten Domain kontrolliert diesen Host nicht.
- Die Registrierung reserviert einen Namen für eine verlängerbare Laufzeit; Hosting stellt Ressourcen bereit.
- DNS verbindet Namen mit Serveradressen, und zwischengespeicherte Antworten können sichtbare Änderungen verzögern.
localhostadressiert den Computer, der die Anfrage stellt.
2.3 Pfade, die zur richtigen Datei führen
Ein Link kann eine vollständige Adresse oder eine Anleitung enthalten, wie eine Ressource von der aktuellen Seite aus zu finden ist. Um sein Ziel vorherzusagen, beginne bei der Adresse der Seite und verfolge den Pfad Teil für Teil.
Den Ausgangspunkt wählen
| Art des Links | Beispiel | Ausgangspunkt |
|---|---|---|
| Absolut | https://example.com/images/logo.png | Das angegebene Schema und der Host |
| Relativ | ../images/logo.png | Der Ordner der aktuellen Seite |
| Wurzelrelativ | /images/logo.png | Das oberste Verzeichnis der aktuellen Website |
Eine absolute URL benennt ihren Host selbst und funktioniert von jeder Seite aus. Sie ist für eine andere Website nützlich. Eine relative URL lässt den Anfang weg und wird anhand der Seitenadresse vervollständigt. Bei Dateien innerhalb einer Website hilft das, den Ordner als Ganzes von einem Laptop auf einen Server zu verschieben.
Einen Ordnerbaum durchgehen
Angenommen, eine Website enthält diese Dateien:
my-site/
index.html
about.html
images/logo.png
styles/main.css
blog/first-post.html
Von index.html aus bleibt about.html im selben Ordner. images/logo.png führt in den Unterordner images und styles/main.css in styles.
Von blog/first-post.html aus ist blog der Ausgangsordner. Um das Logo zu erreichen, verwende ../images/logo.png: Gehe zuerst zum Website-Ordner hinauf und dann in images. Der Link images/logo.png würde stattdessen innerhalb von blog/images suchen, wo dieser Baum kein Logo enthält. Um von diesem Beitrag zur Startseite zu gelangen, verwende ../index.html.
Verschachtelte Adressen verfolgen
Auf https://example.com/blog/2026/post.html:
photo.jpgwird zuhttps://example.com/blog/2026/photo.jpg.../index.htmlwird zuhttps://example.com/blog/index.html./about.htmlwird zuhttps://example.com/about.html.#commentsbleibt auf diesem Dokument und bezeichnet sein Elementcomments.
Ein führendes / ersetzt den aktuellen Pfad ab dem Website-Wurzelverzeichnis. Es bedeutet nicht „einen Ordner nach oben“. Mehrfaches ../ führt mehrere Ordnerebenen hinauf: ../../about.html geht vom verschachtelten Beitrag aus durch 2026 und blog nach oben, bevor about.html gefunden wird.
Links in der richtigen Umgebung ansehen
Ein wurzelrelativer Pfad funktioniert mit einem HTTP-Server, auch einem lokalen Server. Auf einer file:///-Seite verweist / auf das Wurzelverzeichnis des Dateisystems deines Computers, nicht auf deinen Projektordner. Verwende einen lokalen Server, wenn du diese Art von Link testest.
Ein Pfad wie C:\Users\sam\site\logo.png oder file:///Users/sam/site/logo.png bezeichnet einen Ort auf einem Computer. Andere Besucher haben diesen Ordner nicht. Verlinke mit einem Webpfad, der innerhalb der Struktur der Website bleibt.
Namen genau übernehmen
Verwende Kleinbuchstaben, Bindestriche statt Leerzeichen und die richtigen Dateinamenerweiterungen: contact-form.html lässt sich zuverlässiger verlinken als Contact Form.HTML. Windows und macOS unterscheiden bei Dateinamen häufig nicht zwischen Groß- und Kleinschreibung, viele Webserver dagegen schon. Ein lokaler Link auf Logo.png kann online fehlschlagen, wenn der tatsächliche Name logo.png lautet.
Eine Startseite namens index.html ist eine häufige Standardeinstellung von Servern. Wird ein Ordner wie /blog/ angefordert, liefert der Server meist dessen index.html aus, sofern er mit dieser Standardeinstellung konfiguriert ist.
Wichtige Erkenntnisse
- Absolute Links geben ihr Ziel selbst an; relative Links beginnen im Ordner der aktuellen Seite.
- Jedes
../führt einen Ordner nach oben, während ein führendes/am Website-Wurzelverzeichnis beginnt. - Teste wurzelrelative Links über einen Webserver.
- Pfade und Dateinamen müssen einschließlich Groß- und Kleinschreibung und Dateinamenerweiterungen übereinstimmen.
3Lies die Nachrichten und ermittle Fehlerursachen
Jede Ressourcenanfrage liefert Anhaltspunkte, die du untersuchen kannst: die vom Browser gesendete Methode und Adresse, die Antwort-Header und den Statuscode. Lies diese Teile zusammen, um einen erfolgreichen Download von einer Weiterleitung, einer wiederverwendeten Datei oder einem Fehler zu unterscheiden. Du siehst auch, wie Cookies und Caching auf einzelnen HTTP-Austauschen aufbauen und nützliche Funktionen ermöglichen, und warum das Aussehen einer Seite allein nicht verrät, was ihr Server zurückgegeben hat.
3.1 Der Aufbau einer HTTP-Anfrage
HTTP, das Hypertext Transfer Protocol, legt fest, wie Web-Clients Ressourcen anfordern und wie Server antworten. HTTPS überträgt diese Nachrichten über eine verschlüsselte Verbindung. Wenn du eine Anfrage liest, siehst du, was der Browser vom Server verlangt hat.
Die Nachricht der Reihe nach lesen
Hier ist eine Anfrage in der Textform von HTTP/1.1:
GET /products/shoes.html?color=blue HTTP/1.1
Host: shop.example.com
Accept: text/html
Accept-Language: en-US,en;q=0.9
Die erste Zeile enthält die Methode, das Anfrageziel und die HTTP-Version. GET fordert den Abruf einer Ressource an. Das Ziel enthält den Pfad und den Query-String, aber kein Fragment. Der Host steht im Header Host, mit dem ein Server die von ihm bereitgestellten Websites unterscheiden kann.
Ein HTTP-Header ist ein benanntes Feld wie Accept: text/html, das Informationen über die Anfrage oder ihren Inhalt überträgt. Eine Leerzeile beendet die Header. Manche Anfragen enthalten danach einen Nachrichtenkörper mit den gesendeten Daten. Dieses GET-Beispiel hat keinen Nachrichtenkörper.
HTTP/2 und HTTP/3 kodieren Nachrichten anders, behalten aber Methoden, Anfrageziele, Header und Nachrichtenkörper bei. Die Entwicklerwerkzeuge stellen sie lesbar dar, sodass diese Nachrichtenteile über die Versionen hinweg nützlich bleiben.
Eine Methode für die Aktion wählen
| Methode | Vorgesehene Aktion |
|---|---|
| GET | Eine Ressource abrufen |
| POST | Daten zur Verarbeitung senden |
| HEAD | Antwort-Header ohne Nachrichtenkörper abrufen |
| PUT | Eine Ressource ersetzen |
| PATCH | Einen Teil einer Ressource ändern |
| DELETE | Eine Ressource entfernen |
Wenn du einem normalen Link folgst oder eine HTTP-Adresse eingibst, entsteht eine GET-Anfrage. Ein HTML-Formular verwendet standardmäßig GET und mit method="post" die Methode POST.
Bei einem GET-Formular gelangen die Felder in den Query-String der URL. Das eignet sich für eine Suche, deren Ergebnisse du als Lesezeichen speichern oder teilen möchtest. POST platziert die übermittelten Felder im Nachrichtenkörper der Anfrage und eignet sich für Aktionen wie das Erstellen eines Kontos oder das Veröffentlichen eines Kommentars.
POST verschlüsselt von sich aus nichts. Bei einfachem HTTP können sowohl Query-Daten als auch Daten im Nachrichtenkörper während der Übertragung gelesen werden. HTTPS schützt beides. Passwörter gehören über HTTPS in POST-Nachrichtenkörper, weil URLs auch im Browserverlauf erscheinen und in Protokollen gespeichert werden können.
Eine Formularübermittlung lesen
POST /signup HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 38
name=Ana+Silva&email=ana%40example.com
Das Ziel ist /signup. Content-Type gibt die Formularkodierung des Nachrichtenkörpers an. Der Nachrichtenkörper enthält den Namen „Ana Silva“ und die E-Mail-Adresse „ana@example.com“: + wird als Leerzeichen und %40 als @ dekodiert. Hier sind es 38 Byte, entsprechend Content-Length.
Anfragen lesen, wiederholen und identifizieren
Eine sichere Methode ist zum Lesen ohne Änderung des Serverzustands vorgesehen; GET, HEAD und OPTIONS sind sicher. Eine idempotente Methode hat bei Wiederholung dieselbe beabsichtigte Wirkung. Sichere Methoden, PUT und DELETE sind idempotent. Für POST ist das nicht garantiert: Eine wiederholte Übermittlung kann einen zweiten Kommentar oder eine zweite Bestellung erzeugen.
Zu den weiteren Anfrage-Headern gehören User-Agent für Clientinformationen, Accept für akzeptierte Formate und Accept-Language für Sprachpräferenzen. Cookie sendet gespeicherte Cookie-Werte zurück. Referer kann in seiner historischen Schreibweise die verweisende Seite angeben; Browser können den Wert je nach Richtlinie weglassen oder kürzen.
Wichtige Erkenntnisse
- Eine Anfrage nennt eine Methode und ein Anfrageziel und liefert dann Header und manchmal einen Nachrichtenkörper.
- GET ruft Ressourcen ab; POST sendet Daten zur Verarbeitung.
- HTTPS schützt Nachrichten bei der Übertragung; POST allein bietet keine Verschlüsselung.
- Ein Query-String wird im Anfrageziel übertragen, POST-Formulardaten dagegen im Nachrichtenkörper.
- Sichere Methoden sind zum Lesen vorgesehen; idempotente Methoden haben bei Wiederholung dieselbe beabsichtigte Wirkung.
- HTTP-Versionen ändern die Kodierung, ohne die wichtigsten Nachrichtenteile zu entfernen.
3.2 Der Aufbau einer HTTP-Antwort
Die Antwort ist die Reaktion des Servers auf eine Anfrage. Ihr Code nennt das Ergebnis, ihre Header beschreiben die Antwort und ihr Nachrichtenkörper enthält den zurückgegebenen Inhalt, sofern ein Nachrichtenkörper erlaubt ist.
Die Bestandteile unterscheiden
Eine Antwort in der Textform von HTTP/1.1 kann so beginnen:
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1534
Cache-Control: max-age=600
<!DOCTYPE html>
<html lang="en">
...
Die Statuszeile nennt die Version, den Code 200 und die für Menschen lesbare Statusmeldung OK. Programme verwenden die Zahl. HTTP/2 und HTTP/3 übertragen diese Statusmeldung nicht. Nach den Headern und einer Leerzeile beginnt der Nachrichtenkörper mit dem HTML.
Content-Length gibt eine Anzahl von Byte an, keine Zeichenzahl und keine sichtbare Seitengröße. Bei einer Bildantwort mit Content-Length: 24576 hat der Nachrichtenkörper 24.576 Byte: 24,576 kB oder etwa 24,6 kB bei 1 kB = 1.000 Byte.
Den Nachrichtenkörper anhand seines MIME-Typs erkennen
Der MIME-Typ wird in Content-Type gesendet.
| MIME-Typ | Typischer Inhalt |
|---|---|
text/html | Eine Webseite |
text/css | Ein Stylesheet |
text/javascript | Ein Skript |
image/png, image/jpeg, image/svg+xml | Bilder |
application/json | Strukturierte Daten |
Der Header sagt dem Browser, wie er den Nachrichtenkörper behandeln soll; eine Dateinamenerweiterung allein reicht nicht aus. Gibt die URL eines Stylesheets eine HTML-Fehlerseite mit Content-Type: text/html zurück, lehnt der Browser sie als CSS ab. Das erklärt häufig eine Seite mit Text, aber ohne die vorgesehene Gestaltung.
Nachrichtenkörper können Text oder binäre Daten enthalten. Eine Antwort auf HEAD hat keinen Nachrichtenkörper, auch wenn ihre Header die Ressource beschreiben, die ein GET zurückgeben würde. Auch 204 No Content und 304 Not Modified haben keinen Nachrichtenkörper.
Identität zwischen einzelnen Anfragen übertragen
HTTP ist zustandslos: Ein Austausch erinnert sich nicht automatisch an einen früheren. Ein Cookie liefert Informationen, die Anfragen mit einer laufenden Sitzung verbinden.
- Der Server antwortet mit
Set-Cookie: session=abc123. - Der Browser speichert das Cookie.
- Bei späteren passenden Anfragen sendet er
Cookie: session=abc123. - Der Server kann diesen Wert nutzen, um die Sitzung nachzuschlagen, etwa die Anmeldung oder den Warenkorb des Lernenden.
Der Geltungsbereich des Cookies und Browserregeln bestimmen, bei welchen Anfragen es mitgesendet wird.
Inhalte ohne erneuten Download verwenden
Mit Cache-Control: max-age=600 darf der Browser eine gespeicherte Antwort 600 Sekunden oder 10 Minuten lang als frisch behandeln. In dieser Zeit kann er die Kopie wiederverwenden, ohne den Server zu kontaktieren. Danach kann der Browser fragen, ob sie sich geändert hat. Ein 304 bedeutet, dass der zwischengespeicherte Nachrichtenkörper wiederverwendet werden kann; ein 200 kann einen Ersatz liefern.
Wenn gespeicherte CSS-Änderungen nicht erscheinen, prüfe, ob der Browser eine Kopie wiederverwendet hat. Ein erzwungenes Neuladen, meist Strg+Umschalt+R unter Windows/Linux oder Cmd+Umschalt+R unter macOS, oder die Option Cache deaktivieren in den Entwicklerwerkzeugen hilft beim Abrufen frischer Ressourcen. Das Kontrollkästchen wirkt, solange die Entwicklerwerkzeuge geöffnet sind.
Weitere nützliche Antwort-Header sind Location für das Ziel einer Weiterleitung, Date für das Datum der Antwort und Server für Angaben zur Serversoftware, sofern sie mitgesendet werden.
Wichtige Erkenntnisse
- Der Status beschreibt das Ergebnis, Header beschreiben die Antwort und der Nachrichtenkörper enthält den Inhalt.
Content-Typebezeichnet das Format des Nachrichtenkörpers undContent-Lengthzählt dessen Bytes.- Antworten auf HEAD sowie Antworten mit
204und304haben keinen Nachrichtenkörper. Set-Cookiespeichert ein Cookie; spätereCookie-Header senden es bei passenden Anfragen zurück.- Eine frische zwischengespeicherte Antwort kann wiederverwendet werden;
304bestätigt die Aktualität eines gespeicherten Nachrichtenkörpers.
3.3 Statuscodes als Anhaltspunkte bei der Fehlersuche
Ein Statuscode ist das dreistellige Ergebnis in einer HTTP-Antwort. Die Zahl beschreibt eine Anfrage, sodass eine Seite gleichzeitig erfolgreich geladenes HTML, ein fehlendes Bild und ein weitergeleitetes Skript haben kann.
Mit der ersten Ziffer beginnen
| Klasse | Bedeutung |
|---|---|
| 1xx | Information, meist eine Zwischenmeldung |
| 2xx | Erfolg |
| 3xx | Weiterleitung, einschließlich Prüfung der Cache-Aktualität |
| 4xx | Die Anfrage kann in der gesendeten Form nicht erfüllt werden |
| 5xx | Ein Server konnte die Anfrage nicht erfüllen |
200 OK ist das übliche Ergebnis eines erfolgreichen GET. 201 Created meldet die Erstellung einer neuen Ressource, häufig nach einem POST. 204 No Content meldet Erfolg ohne Antwortkörper.
Einer Weiterleitung folgen, ohne sie mit einem Fehler zu verwechseln
301 Moved Permanently und 308 Permanent Redirect geben einen dauerhaft neuen Ort an. 302 Found und 307 Temporary Redirect geben einen vorübergehenden Ort an. Der Header Location der Antwort nennt die nächste Adresse.
Eine Anfrage an http://example.com/ kann zum Beispiel 301 mit Location: https://example.com/ zurückgeben. Der Browser sendet dann eine neue Anfrage an die HTTPS-Adresse, die 200 zurückgibt. Das sind zwei Austausche und keine einzelne Antwort mit zwei Codes.
307 und 308 behalten die Methode bei, wenn der Browser die Anfrage wiederholt. Nach 301 oder 302 darf ein Browser POST in GET ändern. 304 Not Modified ist eine andere Art von 3xx-Ergebnis: Es bestätigt die Aktualität einer zwischengespeicherten Kopie und sendet keinen Ersatzkörper.
Zum Code den nächsten sinnvollen Prüfschritt wählen
| Code | Bedeutung und nächster Schritt |
|---|---|
400 Bad Request | Prüfe fehlerhaft aufgebaute Anfragedaten oder Syntax. |
401 Unauthorized | Authentifiziere dich gültig, etwa durch eine Anmeldung. |
403 Forbidden | Der Server verweigert den Zugriff; prüfe die Berechtigung. |
404 Not Found | Prüfe den genau angeforderten Pfad und Dateinamen. |
405 Method Not Allowed | Prüfe, ob der Endpunkt diese Methode akzeptiert. |
429 Too Many Requests | Sende Anfragen langsamer oder warte vor einem erneuten Versuch. |
500 Internal Server Error | Innerhalb des Servers ist ein allgemeiner Fehler aufgetreten. |
502 Bad Gateway | Ein zwischengeschalteter Server hat eine ungültige Antwort vom dahinterliegenden Server erhalten. |
503 Service Unavailable | Der Dienst ist nicht verfügbar, häufig vorübergehend. |
504 Gateway Timeout | Ein zwischengeschalteter Server hat nicht rechtzeitig eine Antwort vom dahinterliegenden Server erhalten. |
Ein 503 kann Retry-After enthalten, um anzugeben, wann du es erneut versuchen kannst. Der Unterschied zwischen 401 und 403 ist besonders nützlich: Eine fehlende oder ungültige Authentifizierung unterscheidet sich von einer verweigerten Berechtigung. Ein 4xx-Code weist auf die Anfrageseite hin, die du untersuchen solltest. Die Ursache kann dennoch ein defekter Link oder ein Konfigurationsproblem der Website sein.
Die einzelne Ressource untersuchen
Angenommen, HTML und CSS geben 200 zurück, während images/Logo.PNG 404 zurückgibt. Die tatsächliche Datei auf dem Server heißt images/logo.png. Wenn du die Groß- und Kleinschreibung im Link korrigierst, verweist er auf die gespeicherte Datei. Ein Server hat die fehlgeschlagene Anfrage beantwortet; nicht die gesamte Website war unerreichbar.
Bei einer 5xx-Antwort liegt der Fehler in der serverseitigen Verarbeitung. Wenn du die Website einer anderen Person besuchst, kannst du es später erneut versuchen oder den Fehler melden. Ein Entwickler, der für diesen Server verantwortlich ist, untersucht dessen Code oder einen dahinterliegenden Dienst.
Die Antwort lesen, nicht nur den Bildschirm
Eine Fehlermeldung im HTML bestimmt nicht den Status. Eine Website kann 200 mit einer Meldung „nicht gefunden“ zurückgeben, ein sogenannter Soft-404. Umgekehrt kann ein echter 404 eine aufwendig gestaltete HTML-Fehlerseite enthalten. Lies den tatsächlichen Code im Netzwerkbereich ab.
Wenn DNS oder die Verbindung fehlschlägt, liegt möglicherweise überhaupt keine HTTP-Antwort vor. Ein vom Browser erzeugter Fehler hat dann keinen Serverstatus, den du prüfen könntest. Ein einzelner 404 für /favicon.ico, das kleine Tab-Symbol, das Browser anfordern können, beeinträchtigt häufig den Seiteninhalt nicht.
Wichtige Erkenntnisse
- Die erste Ziffer ordnet eine Antwort einer Klasse zu; der vollständige Code gibt das Ergebnis genauer an.
- Weiterleitungen nennen ihre nächste Adresse in
Location;307und308behalten die Methode bei. 304bedeutet, einen zwischengespeicherten Nachrichtenkörper wiederzuverwenden, keine neue Seite unter einer anderen Adresse herunterzuladen.- Prüfe bei entsprechenden 4xx-Antworten Pfade, Authentifizierung, Berechtigungen und Methoden.
- 5xx-Antworten weisen auf einen Fehler bei der serverseitigen Verarbeitung hin.
- Nachrichtenkörper und Status einer Fehlerseite können Unterschiedliches aussagen.
- Ohne HTTP-Antwort gibt es keinen HTTP-Statuscode.
4Wie HTML, CSS und JavaScript zu einer Seite werden
Die Dateien, die ein Browser empfängt, haben unterschiedliche Aufgaben. HTML gibt Inhalten Bedeutung, CSS steuert ihr Aussehen und JavaScript ergänzt Verhalten. Vollziehe nach, wie der Browser sie zu einer aktuellen Seite zusammenfügt und warum eine Seite richtig aussehen kann, während eine Schaltfläche nicht funktioniert. Kurze Codebeispiele zeigen, was du in jeder Sprache erkennen solltest und wie der Ausführungszeitpunkt eines Skripts mit den benötigten Elementen zusammenhängt.
4.1 Struktur, Gestaltung und Verhalten in getrennten Dateien
Eine Seite verbindet Inhalt, Darstellung und Verhalten. Wenn du diese Aufgaben erkennst, kannst du entscheiden, welche Datei du untersuchen musst, wenn du etwas ändern möchtest.
HTML beschreibt, was der Inhalt ist
HTML gibt Inhalten Struktur und Bedeutung: Überschriften, Absätze, Listen, Links, Bilder, Tabellen und Formulare. Es ist eine Auszeichnungssprache. Sie beschreibt Elemente, statt Berechnungen durchzuführen oder Schleifen auszuführen.
In <a href="about.html">About us</a> ist das öffnende Tag <a href="about.html">. Das Attribut href gibt das Ziel an. „About us“ ist der Inhalt und </a> schließt das Element. Attribute gehören in das öffnende Tag.
Manche Elemente sind leer und haben weder Inhalt noch ein schließendes Tag. Zum Beispiel liefert <img src="logo.png" alt="Company logo"> eine Bildadresse und eine Textalternative. <br>, <link> und <meta> sind weitere leere Elemente.
Wähle Elemente nach ihrer Bedeutung. Verwende eine Überschrift, weil der Text einen Abschnitt einleitet; verwende CSS, wenn du größeren Text oder zusätzliche Abstände möchtest. Mehrere <br>-Elemente sind ein schlechter Ersatz für Abstandsregeln.
CSS steuert das Aussehen von Inhalten
CSS legt Farbe, Schrift, Abstände, Layout und die Anpassung an verschiedene Bildschirmbreiten fest. Lies diese Regel:
h1 {
color: navy;
font-size: 2rem;
}
Der Selektor h1 bezeichnet die zu gestaltenden Elemente. Jede Deklaration verbindet eine Eigenschaft mit einem Wert. color: navy; setzt die Eigenschaft color auf navy. Der Doppelpunkt trennt Eigenschaft und Wert; das Semikolon beendet die Deklaration.
JavaScript reagiert auf Aktionen
JavaScript ist eine Programmiersprache. Es reagiert auf Klicks und Eingaben, ändert die aktuelle Seite, prüft Formulareingaben und fordert weitere Daten an, ohne die gesamte Seite neu zu laden. Es ist eine andere Sprache als Java.
Für eine Schaltfläche zum Wechseln des Designs kann ein Skript die Schaltfläche finden, auf Klicks reagieren und eine CSS-Klasse umschalten:
document.querySelector("button").addEventListener("click", () => {
document.body.classList.toggle("dark");
});
Das Skript ändert, ob der Dokumentkörper die Klasse dark hat; CSS legt das Aussehen dieser Klasse fest. Eine statische Informationsseite kann allein mit HTML und CSS funktionieren.
Die Dateien im HTML verknüpfen
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My first page</title>
<link rel="stylesheet" href="styles/main.css">
<script src="scripts/app.js" defer></script>
</head>
<body>
<h1>Hello, web</h1>
<p>This text is structured by HTML and styled by CSS.</p>
<button>Switch theme</button>
</body>
</html>
Das <head> enthält Seiteninformationen und Dateiverknüpfungen. Das <body> enthält den angezeigten Inhalt. Der Browser fordert styles/main.css und scripts/app.js getrennt vom HTML an. Alle drei sind reine Textdateien, die du in einem Code-Editor öffnen kannst.
Die Trennung der Zuständigkeiten hält Inhalt in HTML, Aussehen in CSS und Verhalten in JavaScript. Ein Stylesheet kann viele Seiten gestalten. Eine aussagekräftige Überschrift und ein gewöhnlicher Link funktionieren auch dann noch, wenn Gestaltung oder Skripte ausfallen; Funktionen, die von JavaScript abhängen, brauchen dagegen ihr Skript.
Wichtige Erkenntnisse
- HTML gibt Inhalten Struktur und Bedeutung; Attribute ergänzen Informationen in öffnenden Tags.
- CSS-Selektoren wählen Elemente aus und Deklarationen legen Eigenschaftswerte fest.
- JavaScript ergänzt Verhalten und kann die aktuelle Seite ändern.
- HTML verknüpft externe CSS- und JavaScript-Dateien, die jeweils als eigene Ressource geladen werden.
- Trenne Inhalt, Darstellung und Verhalten, damit sich Änderungen leichter verwalten lassen.
4.2 Die aktuelle Seite im Browser
Der Browser zeigt HTML nicht als Bild einer Textdatei an. Er wandelt die Datei in Objekte um, ermittelt ihre Stile und Positionen und zeichnet das Ergebnis. JavaScript kann diese Objekte anschließend verändern.
Aus HTML einen Baum aufbauen
Das DOM ist der aktuelle Baum des Browsers aus Elementen und Text. Betrachte:
<body><h1>News</h1><p>Hi <a href="/">home</a></p></body>
Das body hat zwei Kindelemente, h1 und p. Die Überschrift enthält „News“. Der Absatz enthält den Text „Hi “ und ein Element a, das „home“ enthält. Der Link steht innerhalb des Absatzes, nicht unmittelbar innerhalb des Dokumentkörpers.
Beim Lesen von HTML entdeckt der Browser Ressourcen in Elementen wie <link>, <script> und <img>. Er fordert diese Ressourcen an und liest das CSS, um die endgültigen Stile jedes Elements zu berechnen. Die Layoutberechnung ermittelt Größen und Positionen. Beim Zeichnen entstehen die Pixel. Diese Aufgaben können erneut stattfinden, wenn sich Inhalte oder Stile ändern.
Skripte ausführen, wenn ihre Elemente existieren
Ein klassisches externes Skript ohne defer oder async unterbricht das Parsen des HTML, während es heruntergeladen und ausgeführt wird. Steht es im head-Element und versucht eine Schaltfläche zu finden, die später im Dokumentkörper steht, ist diese Schaltfläche noch nicht aufgebaut. document.querySelector("button") gibt null zurück, sodass der Aufruf von addEventListener für dieses Ergebnis einen Fehler erzeugt.
| Skriptladen | Wann ein klassisches externes Skript ausgeführt wird |
|---|---|
Einfaches <script src="app.js"> | An seiner Stelle im Dokument, wobei das Parsen des HTML unterbrochen wird |
Mit defer | Nach dem Parsen des HTML, in Dokumentreihenfolge |
Mit async | Sobald es bereit ist, ohne garantierte Reihenfolge |
Ergänze defer, damit ein Skript heruntergeladen wird, während das Parsen des HTML weiterläuft, und ausgeführt wird, sobald dieses abgeschlossen ist. Auch wenn du ein einfaches Skript direkt vor </body> verschiebst, existieren frühere Elemente zuerst. async garantiert nicht, dass eine spätere Schaltfläche existiert; der Download kann früh abgeschlossen sein.
HTML-Quelltext und aktuelles DOM können sich unterscheiden
Seitenquelltext anzeigen zeigt das ausgelieferte HTML. Der Bereich Elemente, in Firefox Inspektor genannt, zeigt das aktuelle DOM. JavaScript kann Inhalte hinzugefügt, Text geändert oder Elemente entfernt haben. Der Browser kann auch fehlerhaft aufgebautes HTML korrigiert haben, indem er zum Beispiel ein Element geschlossen hat.
Ändert sich eine Überschrift nach einem Klick, zeigt der Elemente-Bereich den geänderten Text. Der Seitenquelltext zeigt weiterhin das ursprünglich empfangene HTML. Eine DOM-Änderung kann aktualisierte Stile, eine neue Layoutberechnung und erneutes Zeichnen auslösen, ohne ein neues HTML-Dokument abzurufen.
Verschiedene Fehler haben verschiedene Auswirkungen
Browser korrigieren HTML nach festgelegten Regeln und überspringen CSS-Deklarationen, die sie nicht verstehen. Ein JavaScript-Syntaxfehler, etwa ein unvollständiger Ausdruck, verhindert den Start dieser Skriptdatei oder dieses Blocks. Ein nicht abgefangener Laufzeitfehler beendet die aktuelle Ausführung, sodass spätere Zeilen in diesem Durchlauf übersprungen werden. Andere Skripte und bereits registrierte Ereignisbehandlungsfunktionen können weiterhin funktionieren. Das erklärt, warum Inhalt und Gestaltung einer Seite sichtbar bleiben können, während eine Funktion ausfällt.
Browser-Engines setzen gemeinsame Standards um: Blink in Chrome und Edge, Gecko in Firefox und WebKit in Safari. Kleine Unterschiede in der Umsetzung machen Tests in mehr als einem Browser sinnvoll. Browser erstellen aus der Seitenstruktur außerdem einen Barrierefreiheitsbaum, damit Screenreader bedeutungsvolle Elemente und Beziehungen darstellen können.
Wichtige Erkenntnisse
- Das DOM ist der aus HTML aufgebaute aktuelle Baum aus Elementen und Text.
- Der Browser berechnet Stile, führt die Layoutberechnung aus und zeichnet Pixel.
- Bei klassischen externen Skripten wartet
deferdas Parsen des HTML ab;asyncgarantiert diese Reihenfolge nicht. - Der Seitenquelltext zeigt das ausgelieferte HTML; der Elemente-Bereich zeigt das aktuelle DOM.
- Ein Syntaxfehler verhindert den Start eines Skripts; ein nicht abgefangener Laufzeitfehler beendet den aktuellen Durchlauf.
- Bedeutungsvoll eingesetztes HTML unterstützt auch den Barrierefreiheitsbaum.
5Richte ein Projekt ein und untersuche die Abläufe
Ein kleiner Projektordner und die Entwicklerwerkzeuge deines Browsers bieten dir eine praktische Möglichkeit zu lernen. Speichere eine Seite, sieh sie dir über einen lokalen Server an und untersuche mit dem Browser ihre aktuellen Elemente und Anfragen. Die Bereiche beantworten unterschiedliche Fragen: Was steht auf der Seite, welcher Stil setzt sich durch, welcher Code ist fehlgeschlagen und welche Ressource ist eingetroffen? Durchlaufe einen vollständigen Zyklus aus Bearbeiten und Prüfen, damit jede Änderung überprüfbare Spuren hinterlässt.
5.1 Ein Editor, ein Projektordner und eine Vorschau
Ein Webprojekt beginnt als Dateien in einem Ordner. Ein Code-Editor hilft dir, diese Dateien zu schreiben, und ein Browser zeigt dir eine Vorschau des Ergebnisses. Wenn Editor und Browser auf dieselbe Kopie des Projekts zeigen, vermeidest du viele verwirrende Ergebnisse.
Einen Code-Editor für reinen Text wählen
Ein Code-Editor speichert reine Textdateien und ergänzt Syntaxhervorhebung, Vervollständigung, Fehlerhinweise, einen Dateibaum und andere Programmierhilfen. Textverarbeitungsprogramme speichern Dokumentformatierungen und ersetzen möglicherweise gerade durch typografische Anführungszeichen. Sie sind daher für Quellcode ungeeignet.
Visual Studio Code ist eine kostenlose Möglichkeit für Windows, macOS und Linux. Weitere Editoren sind Sublime Text, Zed und WebStorm. Eine Online-Übungsumgebung wie CodePen eignet sich für kurze Versuche; die Fertigkeiten im Umgang mit Dateien und Pfaden lassen sich zwischen den Werkzeugen übertragen.
Ein Projekt erstellen und öffnen
Für ein erstes VS-Code-Projekt:
- Lade den Editor von seiner offiziellen Website
https://code.visualstudio.com/herunter und installiere ihn. - Erstelle einen Ordner wie
web-projects/my-first-site. - Wähle Datei → Ordner öffnen und öffne
my-first-site, damit der Dateibaum das ganze Projekt zeigt. - Erstelle
index.html. Tippe im HTML-Modus!und wähle den Emmet-Vorschlag für ein HTML-Grundgerüst. - Speichere mit Strg+S unter Windows/Linux oder Cmd+S unter macOS.
Verwende eine Ordnerstruktur, die den Aufgaben deiner Dateien entspricht:
my-first-site/
index.html
styles/main.css
scripts/app.js
images/logo.png
Verwende Kleinbuchstaben und Bindestriche ohne Leerzeichen. Halte die Dateinamenerweiterungen sichtbar, damit aus index.html nicht unbemerkt index.html.txt wird. Speichere Text als UTF-8 und füge <meta charset="utf-8"> in das head-Element des HTML ein, damit Text wie Namen mit Akzenten korrekt interpretiert wird.
Eine Vorschaumethode wählen
| Vorschau | Adresse beginnt mit | Geeignete Verwendung |
|---|---|---|
| Datei direkt öffnen | file:/// | Einfache HTML- und CSS-Prüfungen |
| Lokalen Webserver ausführen | http://localhost:.../ | Testen von Webpfaden und über HTTP bereitgestellten Funktionen |
Ein lokaler Webserver stellt einen Ordner auf deinem eigenen Computer bereit. Er kann http://localhost:5500/ oder http://127.0.0.1:3000/ verwenden; nutze die Adresse, die dein Vorschauwerkzeug angibt. Wurzelrelative Pfade brauchen einen Server, damit sie am Wurzelverzeichnis deiner Website beginnen. Auch Funktionen wie JavaScript-Module oder das Abrufen von Daten brauchen eine HTTP-Vorschau, weil Browser ihre Verwendung auf Seiten aus lokalen Dateien einschränken.
In VS Code kann Microsofts Erweiterung Live Preview oder eine Live-Server-Erweiterung einen Server starten und die Vorschau nach dem Speichern aktualisieren. Prüfe vor der Installation von Erweiterungen den Herausgeber, denn Erweiterungen führen Code auf deinem Computer aus. Formatierung beim Speichern, Zeilenumbruch und automatisches Speichern können die Bearbeitung erleichtern; ein Formatierer wie Prettier sorgt für eine einheitliche Formatierung.
Den Zyklus aus Bearbeiten und Prüfen durchlaufen
Bearbeite und speichere die Datei, lade die Seite neu oder lass die Vorschau neu laden, untersuche das Ergebnis und korrigiere die Datei. Zeigt der Browser weiterhin alte Inhalte, prüfe die Anzeige für ungespeicherte Änderungen im Editor und vergleiche den Pfad der Vorschau mit dem geöffneten Projekt. Möglicherweise hast du zwei Ordner mit demselben Seitennamen. Prüfe auch den genauen Dateinamen und die Erweiterung; eine Textdatei-Endung kann verhindern, dass der Browser eine Datei als HTML-Seite behandelt.
Wichtige Erkenntnisse
- Verwende einen Code-Editor, der reine Textdateien speichert, und öffne den vollständigen Projektordner.
- Achte auf übersichtliche Ordner, exakte Dateinamenerweiterungen, Dateinamen in Kleinbuchstaben und UTF-8-Text.
- Ein lokaler HTTP-Server unterstützt wurzelrelative Pfade und Funktionen, die auf
file:-Seiten eingeschränkt sind. - Der Arbeitsablauf lautet: bearbeiten, speichern, neu laden, untersuchen und korrigieren.
5.2 Untersuche Elemente, Stile und Fehler
Die Entwicklerwerkzeuge des Browsers zeigen die Seite, die du tatsächlich ausführst. Nutze sie, um einen Stil zu testen, einen Fehler zu lesen oder die aktuelle Seite mit der Datei in deinem Editor zu vergleichen.
Die Werkzeuge öffnen und einen Bereich wählen
Klicke auf einer Desktopseite mit der rechten Maustaste auf einen Teil der Seite und wähle Untersuchen. Gängige Tastenkürzel sind F12 oder Strg+Umschalt+I unter Windows/Linux und Cmd+Option+I unter macOS. In Safari müssen zuerst die Entwicklerfunktionen unter Einstellungen → Erweitert aktiviert werden; der Wortlaut der Option hängt von der Safari-Version ab.
| Bereich | Was er zeigt |
|---|---|
| Elemente oder Inspektor in Firefox | Aktuelles DOM und Stile des ausgewählten Elements |
| Konsole | JavaScript-Meldungen, Fehler und eine Eingabeaufforderung |
| Quellen oder Debugger in Firefox | Geladene Quelldateien und Fehlersuche in Skripten |
| Netzwerk | Anfragen und ihre Antworten |
Den maßgeblichen Stil finden
Untersuche eine Überschrift. Wenn du ihren Knoten auswählst, wird ihre Box auf der Seite hervorgehoben, einschließlich Inhalt, Innenabstand, Rahmen und Außenabstand. Der Bereich Stile listet Regeln und ihre Quellstellen auf, etwa main.css:12. Eine durchgestrichene Deklaration ist dort nicht wirksam: Eine andere Regel kann sie überschreiben oder die Deklaration kann ungültig sein. Ungültige Deklarationen können auch ein Warnsymbol tragen.
Öffne Berechnet, um die endgültigen Werte zu sehen. Wenn zwei Regeln unterschiedliche Textfarben festlegen, zeigt dir die berechnete Farbe das Ergebnis. Du kannst vorübergehend einen Wert ändern, eine Deklaration deaktivieren oder Text und Attribute bearbeiten, um eine Idee zu testen.
Gewöhnliche direkte Änderungen betreffen das DOM oder die Stile deines Tabs. Beim Neuladen werden sie durch die geladenen Dateien ersetzt. Um eine Verbesserung zu behalten, nimm dieselbe Änderung in der Quelldatei vor, speichere und lade neu. Wenn du unter Elemente einen angezeigten Preis änderst, ändert sich die lokale Anzeige; der auf dem Server gespeicherte Preis ändert sich nicht.
Einen Konsolenfehler als Hinweis lesen
Ein Fehler enthält eine Meldung und meist eine Datei und Zeile. Zum Beispiel:
Uncaught TypeError: Cannot read properties of null
(reading 'addEventListener') at app.js:3
Lies app.js:3 als die zu untersuchende Quellstelle. Der Code hat versucht, ein fehlendes Objekt zu verwenden. Hat ein Selektor nach einer Schaltfläche gesucht, prüfe, ob seine Schreibweise zu einem Element passt und ob das Element existierte, als das Skript ausgeführt wurde. Die Meldung allein entscheidet nicht zwischen diesen Ursachen.
Die Konsole zeigt auch fehlgeschlagene Ressourcenabrufe, etwa ein GET mit dem Ergebnis 404, und Meldungen von console.log(). Ein Skriptfehler kann eine nicht funktionierende Schaltfläche erklären, selbst wenn die Datei erfolgreich heruntergeladen wurde.
Einen kleinen Ausdruck und einen schmalen Bildschirm ausprobieren
Die Konsole kann JavaScript auswerten. Die Eingabe von 2 + 3 ergibt 5; document.title gibt den aktuellen Titel zurück. Die Zuweisung document.body.style.background = "lightyellow" ändert den Hintergrund der Seite im Tab. Füge keinen Code von jemandem, dem du nicht vertraust, in die Konsole ein; er wird mit Zugriff auf die Seite ausgeführt und kann ein Konto missbrauchen.
Verwende das Smartphone-und-Tablet-Symbol für den responsiven Modus. Wähle eine schmale Breite wie 375 CSS-Pixel, um zu sehen, wie das Layout hineinpasst. Das simuliert einen Viewport, nicht jedes Verhalten eines echten Smartphones; ein Test auf einem echten Gerät liefert zusätzliche Informationen, die eine Größenänderung nicht bieten kann.
Wichtige Erkenntnisse
- Elemente zeigt das aktuelle DOM; Stile und Berechnet helfen, das endgültige Aussehen zu erklären.
- Gewöhnliche direkte Änderungen müssen in Quelldateien übernommen werden, damit sie beim Neuladen erhalten bleiben.
- Nutze Konsolenmeldungen und Quellstellen, um fehlgeschlagenen Code zu untersuchen.
- Ein Fehler wegen eines fehlenden Elements kann durch einen falschen Selektor oder eine frühe Skriptausführung entstehen.
- Der responsive Modus prüft Viewport-Größen, während echte Geräte sich anders verhalten können.
5.3 Verfolge einen Ladevorgang im Netzwerkbereich
Der Netzwerkbereich zeigt die einzelnen Austausche hinter einer Seite. Er kann offenlegen, warum ein Bild fehlt, warum die Gestaltung fehlgeschlagen ist oder warum beim Neuladen weniger Daten als erwartet übertragen wurden.
Vor dem Neuladen aufzeichnen
Öffne die Entwicklerwerkzeuge, wähle Netzwerk, stelle sicher, dass die Aufzeichnung aktiv ist, und lade die Seite neu. Der Bereich kann Anfragen nicht rekonstruieren, die vor seinem Öffnen abgeschlossen waren. Ist die Liste leer, prüfe Aufzeichnung und Filter und lade erneut.
Die Zeilen zeigen Name oder URL, Methode, Status, Typ, Größe und Zeit jeder Anfrage. Das Wasserfalldiagramm zeigt, wann Anfragen begannen und wie sich ihre Zeitabläufe überschneiden. Es hilft dir, das Laden einer Seite als mehrere Ressourcenabrufe statt als einen unteilbaren Vorgang zu sehen.
Eine Zeile für alle Anhaltspunkte öffnen
Wähle eine Anfrage aus. Header zeigt die angeforderte URL und Methode, den Antwortstatus sowie Anfrage- und Antwort-Header. Vorschau zeigt eine nützliche Ansicht unterstützter Antwortinhalte. Antwort zeigt den zurückgegebenen Inhalt direkter, während Timing die Dauer der einzelnen Anfragephasen aufschlüsselt.
Vergleiche bei einem fehlenden Bild die vollständige angeforderte Adresse mit dem tatsächlichen Speicherort des Bildes. Ein Dateiname allein kann einen falschen übergeordneten Ordner verbergen.
Einen beispielhaften Ladevorgang untersuchen
| Name | Methode | Status | Content-Type | Übertragen |
|---|---|---|---|---|
index.html | GET | 200 | text/html | 8,2 kB |
main.css | GET | 200 | text/css | 3,1 kB |
app.js | GET | 200 | text/javascript | 1,4 kB |
Hero.jpg | GET | 404 | text/html | 0,6 kB |
logo.png | GET | 200 | image/png | 18,5 kB |
Fünf Anfragen übertrugen insgesamt 31,8 kB. Die Anfrage für Hero.jpg schlug fehl. Ihr kleiner HTML-Nachrichtenkörper ist die Fehlerseite des Servers, was den MIME-Typ text/html bei einer Bildanfrage erklärt. Heißt die tatsächliche Datei images/hero.jpg, ändere src="images/Hero.jpg" zu src="images/hero.jpg" und lade neu, um die Korrektur zu testen.
Filtere nach Img für Bilder, CSS für Stylesheets oder einem Namen für eine bestimmte Ressource. Wenn ein Stylesheet fehlschlägt, untersuche sowohl seinen Status als auch Content-Type. Selbst ein 200 kann eine HTML-Antwort nicht zu nutzbarem CSS machen.
Weiterleitungen und Cache-Antworten sichtbar halten
Aktiviere Protokoll beibehalten, in Firefox „Protokolle beibehalten“ genannt, bevor du einer Navigation folgst, die du verfolgen möchtest. Eine HTTP-zu-HTTPS-Weiterleitung kann dann eine 301-Zeile mit ihrem Location-Header und anschließend eine neue 200-Anfrage zeigen.
Eine mit „(memory cache)“ oder „(disk cache)“ markierte Zeile bedeutet, dass der Browser gespeicherten Inhalt wiederverwendet hat. Bei einem 304 gab es weiterhin eine Serverantwort, aber es kamen nur Header zurück, sodass die erneute Übertragung des Nachrichtenkörpers entfiel. Die Spalten „Größe“ und „Übertragen“ beantworten daher andere Fragen als die Dateigröße allein.
Verwende Cache deaktivieren bei geöffneten Entwicklerwerkzeugen, um mit frischen Abrufen zu vergleichen. Die Drosselung simuliert eine langsamere Verbindung, sodass du beobachten kannst, welche Inhalte zuerst erscheinen. Die Bezeichnungen der Geschwindigkeitsvorgaben variieren je nach Browserversion.
Eine fehlgeschlagene Zeile ohne Antwortstatus kann auf einen DNS- oder Verbindungsfehler hinweisen; Chrome zeigt möglicherweise net::ERR_NAME_NOT_RESOLVED. Außerhalb des Browsers sendet curl -I https://example.com ein HEAD und gibt Status und Header für eine schnelle Prüfung der Antwort aus.
Wichtige Erkenntnisse
- Öffne Netzwerk und starte die Aufzeichnung, bevor du die Seite neu lädst.
- Untersuche vollständige URL, Status, MIME-Typ und Antwort zusammen.
- Nutze Filter für fehlende Ressourcen und Protokoll beibehalten für Navigation oder Weiterleitungen.
- Zwischengespeicherte Nachrichtenkörper und
304-Antworten verringern die übertragene Datenmenge auf unterschiedliche Weise. - Die Drosselung zeigt das Verhalten bei einer langsameren Verbindung.
- Ein fehlender Antwortstatus kann auf einen Fehler hinweisen, bevor HTTP eine Antwort erhalten hat.
Browser, Server und HTTP-Anfragen: Beispiele
1Verfolge eine Seite von der Anfrage bis zum Bildschirm
12 Schritte
- 1EinführungBeobachte, wie eine Seite aufgebaut wird
Eine Seite kann ihre Überschrift anzeigen, während ein Bild noch lädt. Um das zu erklären, verfolge, wie ein Browser
https://example.net/trails.htmlöffnet. Wir unterscheiden die Anfrage des Browsers, die Antwort des Servers und die im HTML genannten zusätzlichen Ressourcen. Nutze dann dieselbe Abfolge, um einen Fehler einzugrenzen. - 2ErklärungErkenne, wer anfragt und wer antwortet
Der Browser ist der Client: Er beginnt die Anfrage nach einer Ressource. Auf dem Server läuft Software, die mit einer gespeicherten Datei oder erzeugtem Inhalt antwortet. Das sind Rollen. Auf einem Laptop können sowohl dein Browser als auch ein lokaler Testserver laufen.
Bei diesem Besuch fordert der Browser
/trails.htmlan und der Server gibt eine Antwort zurück, deren Nachrichtenkörper HTML enthält. - 3AnalogieBetrachte eine Anfrage als Bestellung
Stell dir den Client als Kunden vor, der an einer Theke eine Bestellung aufgibt. Die Anfrage bezeichnet, was der Kunde möchte, und die Antwort ist das, was zurückkommt.
Bei einem gewöhnlichen HTTP-Ressourcenabruf beginnt der Browser den Austausch. Der Server muss nicht wissen, wie die Seite auf deinem Bildschirm aussieht; er liefert den angeforderten Inhalt, den der Browser interpretiert.
- 4BeispielZähle das Dokument vor seinen Bildern
Angenommen, das zurückgegebene HTML nennt ein Stylesheet, ein Skript und zwei Bilder. Zähle zuerst das HTML selbst: Das ist eine Ressource. Füge das Stylesheet und das Skript hinzu, um auf drei zu kommen, und dann die zwei Bilder, um fünf zu erhalten.
Bei leerem Ressourcencache sind zum Abrufen dieser Dateien fünf Ressourcenanfragen nötig. Die Seite sieht auf dem Bildschirm wie ein einzelnes Objekt aus, ihre Teile werden aber getrennt übertragen.
- 5HerausforderungÜberlege, ob die Seite teilweise funktioniert
HTML, Skript und Stylesheet treffen ein, aber eine der beiden Bildanfragen schlägt fehl. Muss die ganze Seite verschwinden? Erkläre.
---reveal---
Nein. Der Browser kann die empfangenen Ressourcen anzeigen, während das fehlgeschlagene Bild fehlt. Für jede Ressource gibt es einen eigenen Austausch. Der Erfolg beim HTML garantiert nicht den Erfolg beim Bild, und der Fehler beim Bild löscht das HTML nicht.
- 6ErklärungFinde den Host, bevor du den Pfad anforderst
Bei
https://example.net/trails.htmlerkennt der Browser den Hostexample.netund den Pfad/trails.html. DNS liefert eine IP-Adresse für diesen Host, sofern nicht bereits eine aktuelle Antwort im Cache liegt.Danach verbindet sich der Browser mit diesem Ziel. Eine Namensabfrage liefert die Adresse; sie lädt weder das HTML noch eines seiner verknüpften Bilder herunter.
- 7KernaussageSchütze die Verbindung
Weil das Schema
httpslautet, richtet der Browser vor dem gewöhnlichen HTTP-Austausch TLS-Schutz ein. Das Zertifikat des Servers ermöglicht die Prüfung seiner Identität für die Domain.Das schützt Nachrichten davor, im Netzwerk gelesen oder verändert zu werden. Ein gültiges Zertifikat und eine sichere Verbindung belegen nicht, dass die Geschäfte oder Aussagen einer Website ehrlich sind.
- 8BeispielBaue die Seite auf, während Dateien eintreffen
Der Browser sendet seine Anfrage und empfängt die HTML-Antwort. Beim Lesen des HTML entdeckt er die Adressen von CSS, Skript und Bildern. Der Browser fordert diese Ressourcen an und kann ihre Downloads zeitlich überschneiden.
Er baut das Dokument auf, wendet Stile an, führt Skripte aus und zeichnet die Seite. Text kann zuerst erscheinen, während die Bilder später ergänzt werden. Er wartet nicht auf jede Datei, bevor er mit der Anzeige beginnt.
- 9HerausforderungUnterscheide eine fehlende Adresse von einer fehlenden Datei
Ein Besuch schlägt mit einem Fehler bei der Namensauflösung und ohne Antwortstatus fehl. Ein anderer gibt
404für/trails.htmlzurück. Haben beide Fehler dieselbe Phase erreicht?---reveal---
Nein. Beim ersten Versuch konnte die Adresse des Hosts nicht ermittelt werden, bevor eine HTTP-Antwort eintraf. Beim zweiten wurde ein Server erreicht, der antwortete, die Ressource aber nicht fand. In beiden Fällen kann eine Browserfehlerseite erscheinen, untersuche daher die Angaben im Netzwerkbereich.
- 10VerbindungNutze frühere Ergebnisse bei einem weiteren Besuch
Bei einem späteren Besuch kennt der Browser möglicherweise bereits die Adresse des Hosts und besitzt frische Kopien einiger Dateien. DNS-Caching erspart eine weitere Namensabfrage; Ressourcen-Caching erspart einige wiederholte Downloads.
Muss die Aktualität einer gespeicherten Ressource geprüft werden, kann der Server mit
304 Not Modifiedantworten. Dieser Austausch findet weiterhin statt, überträgt aber keinen neuen Ressourcenkörper, weil der gespeicherte noch nutzbar ist. - 11HerausforderungGrenze den Fehler in der gesamten Abfolge ein
Das HTML einer Seite gibt
200zurück, ihre CSS-Anfrage aber404. Die Seite zeigt ungestalteten Text. Welcher Schritt ist fehlgeschlagen und was solltest du prüfen?---reveal---
Die erste Seitenanfrage war erfolgreich; eine spätere Ressourcenanfrage schlug fehl. Vergleiche die aufgelöste URL des Stylesheets mit seinem tatsächlichen Speicherort und Dateinamen. Die DNS-Einrichtung erneut vorzunehmen, ist kein sinnvoller erster Prüfschritt, weil der Server die CSS-Anfrage bereits beantwortet hat.
- 12ZusammenfassungWähle anhand der Abfolge einen Prüfschritt
Lies den Ladevorgang als Abfolge: Host bestimmen, seine Adresse finden, verbinden, anfordern, empfangen und aufbauen. Denke daran, dass das HTML meist weitere Anfragen auslöst.
Wenn etwas fehlschlägt, ermittle zuerst die betroffene Phase. Prüfe dann den jeweiligen Host, Pfad, die Antwort oder die Browseraktion.
2Lies eine URL und verfolge ihre Links
14 Schritte
Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.
- 1EinführungOrdne jedem Adressbestandteil eine Aufgabe zu
- 2BeispielTrenne das Ziel von der Ressource
- 3ErklärungTrenne Eingaben von einer Stelle auf der Seite
- 4HerausforderungÄndere nur das Fragment
- 5ErklärungLies einen Host von rechts
- 6BeispielUntersuche einen täuschend ähnlichen Host
- 7HerausforderungErkläre, was die Registrierung bietet
- 8ErklärungWähle den Ausgangspunkt des Links
- 9BeispielGehe aus einem verschachtelten Ordner nach oben
- 10BeispielProbiere einen anderen gültigen Ausgangspunkt
- 11HerausforderungFinde eine benachbarte Seite
- 12TippAchte auf die genaue Schreibweise des Pfads
- 13HerausforderungVerbinde die Prüfung von Host und Pfad
- 14ZusammenfassungLies, bevor du folgst
3Lies einen Austausch und wähle den nächsten Prüfschritt
16 Schritte
Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.
- 1EinführungNutze die Nachrichten als Anhaltspunkte
- 2BeispielLies die erste Zeile und den Host
- 3ErklärungOrdne der Aktion eine Methode zu
- 4BeispielLies einen kleinen übermittelten Nachrichtenkörper
- 5HerausforderungÜberlege, was eine wiederholte Übermittlung bewirkt
- 6ErklärungUnterscheide Status, Header und Nachrichtenkörper
- 7BeispielVerbinde einzelne Anfragen mit einem Cookie
- 8BeispielVerwende zunächst eine frische Kopie
- 9BeispielPrüfe nach Ablauf der Frische
- 10HerausforderungErkläre eine kleine übertragene Datenmenge
- 11ErklärungGrenze das Problem anhand der Klasse ein
- 12BeispielUnterscheide Identität, Berechtigung und Pfad
- 13BeispielFolge einer neuen Adresse
- 14HerausforderungLies die Fehlerklasse genau
- 15HerausforderungLies die Antwort hinter dem Namen
- 16ZusammenfassungSetze die Nachrichtenteile zusammen
4Mache aus Quelldateien eine aktuelle Seite
12 Schritte
Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.
- 1EinführungVerfolge eine Schaltfläche von der Auszeichnung bis zum Verhalten
- 2BeispielGib dem Inhalt eine Bedeutung
- 3BeispielFüge eine Darstellungsregel hinzu
- 4ErklärungReagiere auf den Klick
- 5HerausforderungWähle die Datei für die Änderung
- 6ErklärungBaue den aktuellen Baum auf
- 7BeispielZu früh ausführen und nichts finden
- 8BeispielWarte auf das geparste Dokument
- 9KernaussageVergleiche den Quelltext mit dem aktuellen Ergebnis
- 10HerausforderungErkläre eine sichtbare Seite mit einer nicht funktionierenden Schaltfläche
- 11HerausforderungVerbinde Eintreffen, Ausführungszeitpunkt und aktuelles DOM
- 12ZusammenfassungVerbinde jede Phase mit ihrem Ergebnis
5Richte eine Seite ein, sieh sie dir an, untersuche und korrigiere sie
15 Schritte
Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.
- 1EinführungNimm eine Änderung vor, die du überprüfen kannst
- 2ErklärungÖffne ein Projekt in einem Code-Editor
- 3BeispielSieh dir die Vorschau über HTTP an
- 4HerausforderungFinde heraus, warum eine Änderung zu fehlen scheint
- 5BeispielUntersuche das Element, das du ändern möchtest
- 6BeispielTeste einen Stil und speichere ihn dann
- 7HerausforderungSuche nach Hinweisen zu einer nicht reagierenden Schaltfläche
- 8TippPrüfe einen schmalen Viewport
- 9ErklärungZeichne den nächsten Ladevorgang von Anfang an auf
- 10BeispielLies die vollständige URL eines fehlgeschlagenen Bildabrufs
- 11BeispielPrüfe das Ergebnis der Quelltextkorrektur
- 12KernaussageUnterscheide Wiederverwendung von einer erneuten Übertragung
- 13HerausforderungDeute eine Weiterleitung und ihr Ziel
- 14HerausforderungVerbinde die Prüfungen im Editor und im Browser
- 15ZusammenfassungSchließe den Arbeitsablauf im gespeicherten Quelltext ab
Browser, Server und HTTP-Anfragen: Übungsaufgaben
Set 1: Verfolge Adressen und Ressourcenanfragen10 Übungsfragen
Frage 1 von 10
Antwort zeigenAntwort ausblenden
Frage 2 von 10
Antwort zeigenAntwort ausblenden
Frage 3 von 10
https://learn.example.org:9443/notes.html?unit=4#tasks der angeforderte Pfad?Antwort zeigenAntwort ausblenden
/notes.html, der Teil nach dem Host und dem optionalen Port, der die Ressource bezeichnet. Der Query-String beginnt mit ? und das Fragment mit #, sodass keiner der beiden zum Pfad gehört. Das HTTP-Anfrageziel kann den Query-String enthalten und umfasst damit mehr als den Pfad allein.Frage 4 von 10
https://billing.example.com.check.example.net/pay. Welche registrierte Domain kontrolliert diesen Host?Antwort zeigenAntwort ausblenden
.net ist die öffentliche Endung und example.net die registrierte Domain. Die Labels check, com, example und billing liegen darunter. Das vertraute example.com links macht diesen Host nicht zu einem Host, der über diese registrierte Domain kontrolliert wird.Frage 5 von 10
https://example.org/ nach https://example.org/course/ verschoben. Auf course/lessons/start.html funktioniert ../images/map.png, aber /images/map.png schlägt fehl; die Karte liegt unter course/images/map.png. Was erklärt den Unterschied?Antwort zeigenAntwort ausblenden
/course/lessons/, sodass ../ nach /course/ hinaufführt, bevor der Pfad in images/ geht. Ein führender Schrägstrich verwirft den aktuellen Pfad und fordert /images/map.png am Wurzelverzeichnis des Hosts an. Beim Verschieben des Ordnerbaums blieb die relative Beziehung erhalten, aber seine Position unterhalb des Website-Wurzelverzeichnisses änderte sich.Frage 6 von 10
Antwort zeigenAntwort ausblenden
Frage 7 von 10
200 zurück. Die Anfrage nach ihrem Diagramm gibt 404 zurück. Was belegen diese Angaben?Antwort zeigenAntwort ausblenden
404 ist eine HTTP-Antwort, die besagt, dass die angeforderte Ressource nicht gefunden wurde. Der erfolgreiche HTML-Austausch und der fehlgeschlagene Diagrammabruf sind getrennt, sodass die Seite auch ohne dieses Diagramm angezeigt werden kann. Ein nicht erreichbarer Server hätte die 404-Antwort nicht geliefert.Frage 8 von 10
Antwort zeigenAntwort ausblenden
Frage 9 von 10
index.html geöffneten Vorschau schlägt das Laden eines Bildes unter /images/compass.png fehl. Das Projekt enthält die Datei im Ordner images. Welche Änderung der Vorschau sorgt dafür, dass sich der führende Schrägstrich auf das Website-Wurzelverzeichnis bezieht?Antwort zeigenAntwort ausblenden
/images/compass.png von dort aus aufgelöst wird. Eine direkte file:-Vorschau interpretiert einen führenden Schrägstrich dagegen vom Wurzelverzeichnis des Dateisystems aus statt vom Projektordner. Dass das Bild im Projekt existiert, ändert diesen Ausgangspunkt nicht.Frage 10 von 10
Antwort zeigenAntwort ausblenden
Set 2: Lies Nachrichten und verfolge fehlgeschlagene Ressourcenabrufe10 Übungsfragen
Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.
Frage 1 von 10
hours.html, führt aber ein Programm aus, um eine Antwort auf eine Katalogsuche zu erzeugen. Wie werden die beiden Antworten eingeordnet?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 2 von 10
https://example.net/find?q=trees#results. Welches Anfrageziel verwendet eine gewöhnliche HTTP/1.1-Anfrage?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 3 von 10
https://example.com/help/setup/linux.html. Das Stylesheet liegt unter https://example.com/assets/theme.css. Welcher relative Pfad führt dorthin?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 4 von 10
Content-Type: application/json. Was beschreibt dieser Header?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 5 von 10
401. Nach gültiger Anmeldung antwortet er mit 403. Was hat sich geändert?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 6 von 10
/join; ein 302 leitet zu /register weiter. Der Browser sendet dorthin als Nächstes GET und erhält 405. /register akzeptiert POST mit dem ursprünglichen Nachrichtenkörper, und der Umzug ist vorübergehend. Welche Änderung der Weiterleitung erhält die beabsichtigte Übermittlung?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 7 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 8 von 10
home.html.txt gespeichert. Welche Korrektur des Dateinamens macht sie zu einer HTML-Quelldatei?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 9 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 10 von 10
https://example.org/journal/entry.html fordert ein Link styles/site.css an. Netzwerk zeigt 200, Content-Type: text/html und eine HTML-Ersatzseite. Das tatsächliche CSS liegt unter /styles/site.css. Welche Quelltextkorrektur und Prüfung beheben den Fehler?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Set 3: Verbinde das Seitenverhalten mit Hinweisen aus dem Netzwerkbereich10 Übungsfragen
Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.
Frage 1 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 2 von 10
https://help.example.com/topic und https://example.com.help.example.org/topic. Beide haben gültige HTTPS-Zertifikate. Welcher Vergleich beschreibt die kontrollierenden Domains und die Bedeutung der Zertifikate?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 3 von 10
https://example.net/reference/start.html verwendet ../about.html. Zu welcher Adresse löst der Browser den Link auf?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 4 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 5 von 10
304 auf Aktualität geprüft. Ein geändertes Stylesheet gibt 200 mit einem 5 kB großen Nachrichtenkörper zurück. Eine nicht zwischengespeicherte HTML-Seite gibt einen 9 kB großen Nachrichtenkörper zurück. Wie viele Daten in Nachrichtenkörpern werden ohne Header über das Netzwerk übertragen?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 6 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 7 von 10
200 geladen und erzeugt einen Fehler, als es addEventListener für null aufruft. Sein Selektor passt genau zu einer Schaltfläche, die später im Dokumentkörper steht, und das endgültige DOM enthält diese Schaltfläche. Welche Änderung behebt das gezeigte Zeitproblem?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 8 von 10
projects/atlas/index.html, aber die Vorschauadresse verweist auf projects/atlas-copy/index.html. Nach dem Neuladen erscheint weiterhin die alte Überschrift. Was solltest du zuerst aufeinander abstimmen?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 9 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 10 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Set 4: Untersuche eine vollständige lokale Seite10 Übungsfragen
Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.
Frage 1 von 10
www.example.org, ihre Fotos sind aber unter photos.example.net adressiert. Wo fordert der Browser die Fotos an?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 2 von 10
www.example.com geben 200 zurück. Eine Logo-URL verwendet cdn.example.net, und ihre Zeile zeigt net::ERR_NAME_NOT_RESOLVED ohne Status. Welcher Teil des Ladevorgangs ist fehlgeschlagen und warum kann der Text trotzdem erscheinen?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 3 von 10
# und wird lokal vom Browser behandelt?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 4 von 10
Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 5 von 10
/comments. Ein 307 leitet zu /store weiter. Dort wird nur POST akzeptiert, pro Übermittlung ein Kommentar erstellt und 201 zurückgegeben. Der Benutzer wiederholt die ursprüngliche Übermittlung einmal; der Browser folgt der Weiterleitung erneut. Welche Methoden erreichen /store und wie viele Kommentare werden erstellt?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 6 von 10
Set-Cookie: session=xyz. Der Browser speichert das Cookie und die nächste Anfrage fällt in dessen Geltungsbereich. Welcher Anfrage-Header ermöglicht dem Server, diese Anfrage mit der gespeicherten Sitzung zu verbinden?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 7 von 10
200. Wie ist dieses Ergebnis zu beschreiben?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 8 von 10
<h1> nur, um einen gewöhnlichen Hinweis zu vergrößern. Welche Änderung gibt dem Hinweis eine passende Rolle und lässt seine Größe steuerbar?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 9 von 10
helpers.js definiert eine Funktion und page.js verwendet sie sowie eine Schaltfläche, die später im Dokumentkörper steht. Beide verwenden derzeit async, und die Fehler hängen von der Downloadgeschwindigkeit ab. Welche Änderung beim Laden stellt beide Abhängigkeiten in der richtigen Reihenfolge bereit?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Frage 10 von 10
color: green durchgestrichen und color: maroon aktiv; Berechnet meldet maroon. Du änderst den aktiven Wert in den Entwicklerwerkzeugen zu teal, aber beim Neuladen erscheint wieder maroon. Was zeigen beide Beobachtungen und wie behältst du teal?Antwort zeigenAntwort ausblenden
Speichere diese Einheit, um diese Antwort zu sehen.
Hängst du bei deiner eigenen Aufgabe fest? Hausaufgabenhilfe
Schlüsselbegriffe
A
Absolute URL
https://example.net/help.html erreicht diesen Host unabhängig davon, ob er auf einer Startseite oder in einem verschachtelten Beitrag angeklickt wird.Anfrageziel
/guide?mode=short#tips ergibt bei einer gewöhnlichen Anfrage das Ziel /guide?mode=short.Attribut
href für ein Linkziel oder src für eine Bildquelle.<a href="team.html">Team</a> teilt das Attribut href dem Browser mit, wohin der Link führt.Authentifizierung
401-Antwort kann bedeuten, dass die Anfrage eine gültige Authentifizierung benötigt, bevor der Server sie erfüllt.B
Berechnete Stile
C
Cache
Client
Code-Editor
Content-Length
Content-Length: 24576 24.576 Byte oder etwa 24,6 kB Inhalt.Cookie
Set-Cookie; der Browser sendet ihn später in Cookie zurück.CSS
D
Deklaration
color: teal;, das innerhalb einer Regel eine Darstellungseinstellung festlegt.p { color: navy; margin: 1rem; } legen zwei Deklarationen Absatzfarbe und Außenabstand fest.DNS
DNS-Label
help.example.org hat drei Labels, die von der allgemeinen Endung zum spezifischen Namen gelesen werden.DOM
Domainname
docs.example.com ist leichter zu merken als die numerische Adresse, die DNS dafür zurückgeben kann.Drosselung
E
Entwicklerwerkzeuge
F
Forbidden-Antwort
403. Sie bedeutet, dass der Server die Anfrage verstanden hat, den angeforderten Zugriff aber verweigert.403 erhalten, wenn ihm die Berechtigung zum Öffnen einer geschützten Ressource fehlt.Fragment
#, den der Browser lokal behandelt, häufig indem er zu einem Element mit passender ID scrollt.#contact kann im abgerufenen Dokument scrollen, ohne contact an den Server zu senden.Frische Antwort
max-age=600 kann 10 Minuten lang frisch bleiben, bevor erneut über ihre Frische entschieden werden muss.G
Gateway-Zeitüberschreitung
504-Antwort, die anzeigt, dass ein zwischengeschalteter Server die Antwort eines dahinterliegenden Servers nicht rechtzeitig erhalten hat.504 zurückgeben, während er auf den Anwendungsserver wartet, der die Seite erzeugen sollte.H
Host
https://learn.example.net/intro ist learn.example.net der Host und /intro der Pfad.HTML
HTTP-Header
Name: value dargestellt wird.Accept: text/html besagt, dass der Client eine HTML-Antwort verarbeiten kann.HTTP-Methode
HTTPS
I
Idempotente Methode
Internet
IP-Adresse
203.0.113.10 kann in einem Diagramm zum Laden einer Seite einen Zielserver darstellen.J
JavaScript
K
Konsole
app.js:8 verweist dich auf die Skriptzeile, die am fehlgeschlagenen Vorgang beteiligt ist.L
Laufzeitfehler
null kann verhindern, dass ein Skript seine Schaltfläche einrichtet, obwohl es erfolgreich heruntergeladen wurde.Layoutberechnung
Leeres Element
img, meta oder link.<img src="map.png" alt="Trail map"> beschreibt ein Bild ohne zugehöriges schließendes Tag.Lokaler Webserver
http://localhost:5500/ behandelt einen wurzelrelativen Website-Pfad als Webpfad statt als Pfad vom Wurzelverzeichnis der Festplatte.Loopback-Adresse
127.0.0.1 bei IPv4 oder ::1 bei IPv6.127.0.0.1 öffnest, verbindet sich dein Browser mit einem Dienst auf deinem eigenen Computer.M
MIME-Typ
text/css für CSS oder application/json für Daten.text/html zurück, prüfe, ob der Server stattdessen eine Fehlerseite geliefert hat.N
Nachrichtenkörper
Netzwerkfilter
P
Parsen
Pfad
/images/map.png teilt dem Server nach dem Verbinden mit, welche Ressource der Browser möchte.Port
8080 in http://localhost:8080/ wählt den Port aus, den dieser lokale Testserver verwendet.Projektordner
index.html, styles/ und images/ zusammenliegen, lässt sich leichter prüfen, ob ein Link zu einer Datei passt.Protokoll beibehalten
Q
Query-String
?. Sie besteht häufig aus durch & getrennten name=value-Paaren und wird mit dem Anfrageziel gesendet./search?q=css&page=3 liefert der Query-String sowohl den Suchbegriff als auch die angeforderte Ergebnisseite.R
Registrar
Registry
Relative URL
/guide/start.html aus erreicht der Link images/icon.png den Ordner images innerhalb von /guide/.Responsiver Modus
Ressource
S
Selektor
h2 in h2 { color: teal; } passt zu Überschriftenelementen der zweiten Ebene auf der Seite.Server
Sichere Methode
Soft-404
200 unterscheidet sich von einer Antwort, deren tatsächlicher Status 404 ist.Statuscode
200 und für ein Bild 404 haben, weil die Ressourcen eigene Anfragen haben.Subdomain
example.com kann einen Dienst unter support.example.com einrichten, ohne eine neue Domain zu registrieren.T
TLS
Top-Level-Domain
.com, .org oder die länderspezifische Endung .nl.news.example.org ist .org die TLD; news ist ein spezifischeres Label unter dem registrierten Namen.U
URL
https://example.org/help.html#hours ist die gesamte Adresse die URL; example.org ist nur ihr Host.URL-Schema
https für verschlüsseltes HTTP oder file für eine lokale Datei.http://localhost:8080/ weist den Browser an, HTTP für die lokale Vorschauanfrage zu verwenden.UTF-8
Ü
Übergeordnetes Verzeichnis
../ führt beim Auflösen eines relativen Webpfads eine Ebene nach oben./notes/week/page.html aus erreicht ../index.html nach einem Schritt nach oben /notes/index.html.Übertragene Datenmenge
304 überträgt Header ohne den Bildinhalt, sodass die aufgezeichnete Übertragung viel kleiner ist als das Bild.V
Verzögert ausgeführtes Skript
defer, das nach dem Parsen des HTML ausgeführt wird und dabei die Dokumentreihenfolge unter solchen Skripten beibehält.Viewport
W
Wasserfalldiagramm
Weiterleitung
Location.301 von einer HTTP-Adresse kann den Browser dazu bringen, in einem zweiten Austausch die HTTPS-Adresse anzufordern.World Wide Web
Wurzelrelativer Pfad
/ und bezeichnet einen Ort ausgehend vom Wurzelverzeichnis der aktuellen Website statt vom Ordner der aktuellen Seite.example.org aus beginnt /images/logo.svg am obersten Pfad dieses Hosts.Z
Zeichnen (Paint)
Zertifikat
Zustandsloses Protokoll
Über diese Einheit
Erstelle deine eigenen Lernmaterialien
Mach aus deinen Notizen, Folien und Dokumenten Lernleitfäden, Übungsfragen, Karteikarten und 6 weitere Tools.