So funktioniert das Web: Browser, Server und HTTP-Anfragen

Finde heraus, was zwischen der Eingabe einer Webadresse und der Anzeige einer Seite geschieht. Lerne, wie Browser und Server über HTTP-Anfragen und HTTP-Antworten kommunizieren, wie du URLs, Domainnamen und Statuscodes liest und was HTML, CSS und JavaScript jeweils zu einer Seite beitragen. Richte einen Code-Editor ein und untersuche mit den Entwicklerwerkzeugen deines Browsers Elemente, lies Fehler und verfolge jede Anfrage einer Seite.

AnfängerEinheit 1 von 8 in Kurs: HTML und CSS – barrierefreie, responsive Webseiten erstellen

Was du lernst

  1. 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-Zyklus
      Beschreibe, 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 nach
      Bringe 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.
  2. 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 URL
      Erkenne 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ühren
      Zerlege 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 Dateien
      Wähle zwischen absoluten, relativen und wurzelrelativen Adressen, ermittle das Ziel eines relativen Links und benenne Dateien so, dass Links auf einem Server weiterhin funktionieren.
  3. 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-Anfrage
      Lies 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-Antwort
      Lies 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 Anfragen
      Ordne 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.
  4. 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 Verhalten
      Erkenne 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 aufbaut
      Beschreibe, 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.
  5. 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 ein
      Installiere 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 Netzwerkbereich
      Zeichne einen Seitenladevorgang auf, lies Status, Typ, Größe und Header jeder Anfrage und finde mit dem Bereich defekte Links, Weiterleitungen und Auswirkungen des Cachings.

Browser, Server und HTTP-Anfragen einfach erklärt

5 Kapitel

1

Von 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 AntwortWie der Server sie vorbereitetBeispiel
StatischSendet eine gespeicherte Datei unverändertEine Seite about.html
DynamischFührt ein Programm aus, um die Antwort zu erzeugenSuchergebnisse 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
  1. Der Browser sendet eine HTTP-Anfrage für /news.html.
  2. Der Server antwortet mit einem Statuscode, Headern zur Beschreibung der Antwort und meist einem Nachrichtenkörper mit dem HTML.
  3. Der Browser liest das HTML und fordert die darin genannten Stylesheets, Skripte, Bilder und anderen Ressourcen an.
  4. 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
AnzeichenZu untersuchende Phase
Name kann nicht aufgelöst werdenDNS konnte keine Adresse finden
Zeitüberschreitung bei der VerbindungDer Server konnte nicht rechtzeitig erreicht werden
HTTP-Antwort 404Ein Server hat geantwortet, die angeforderte Ressource aber nicht gefunden
Text erscheint ohne GestaltungPrü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.
2

Lies 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

BestandteilWertAufgabe
SchemahttpsWählt verschlüsseltes HTTP
Hostshop.example.comBenennt den Zielserver
Port8443Wählt einen Dienst an diesem Ziel
Pfad/products/shoes.htmlIdentifiziert die anzufordernde Ressource
Query-Stringcolor=blue&size=42Liefert zusätzliche Eingaben
FragmentreviewsIdentifiziert 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:

HostKontrollierende registrierte Domain
accounts.example.comexample.com
example.com.signin.example.netexample.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.
  • localhost adressiert 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 LinksBeispielAusgangspunkt
Absoluthttps://example.com/images/logo.pngDas angegebene Schema und der Host
Relativ../images/logo.pngDer Ordner der aktuellen Seite
Wurzelrelativ/images/logo.pngDas 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.jpg wird zu https://example.com/blog/2026/photo.jpg.
  • ../index.html wird zu https://example.com/blog/index.html.
  • /about.html wird zu https://example.com/about.html.
  • #comments bleibt auf diesem Dokument und bezeichnet sein Element comments.

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.
3

Lies 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
MethodeVorgesehene Aktion
GETEine Ressource abrufen
POSTDaten zur Verarbeitung senden
HEADAntwort-Header ohne Nachrichtenkörper abrufen
PUTEine Ressource ersetzen
PATCHEinen Teil einer Ressource ändern
DELETEEine 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-TypTypischer Inhalt
text/htmlEine Webseite
text/cssEin Stylesheet
text/javascriptEin Skript
image/png, image/jpeg, image/svg+xmlBilder
application/jsonStrukturierte 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.

  1. Der Server antwortet mit Set-Cookie: session=abc123.
  2. Der Browser speichert das Cookie.
  3. Bei späteren passenden Anfragen sendet er Cookie: session=abc123.
  4. 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-Type bezeichnet das Format des Nachrichtenkörpers und Content-Length zählt dessen Bytes.
  • Antworten auf HEAD sowie Antworten mit 204 und 304 haben keinen Nachrichtenkörper.
  • Set-Cookie speichert ein Cookie; spätere Cookie-Header senden es bei passenden Anfragen zurück.
  • Eine frische zwischengespeicherte Antwort kann wiederverwendet werden; 304 bestä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
KlasseBedeutung
1xxInformation, meist eine Zwischenmeldung
2xxErfolg
3xxWeiterleitung, einschließlich Prüfung der Cache-Aktualität
4xxDie Anfrage kann in der gesendeten Form nicht erfüllt werden
5xxEin 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
CodeBedeutung und nächster Schritt
400 Bad RequestPrüfe fehlerhaft aufgebaute Anfragedaten oder Syntax.
401 UnauthorizedAuthentifiziere dich gültig, etwa durch eine Anmeldung.
403 ForbiddenDer Server verweigert den Zugriff; prüfe die Berechtigung.
404 Not FoundPrüfe den genau angeforderten Pfad und Dateinamen.
405 Method Not AllowedPrüfe, ob der Endpunkt diese Methode akzeptiert.
429 Too Many RequestsSende Anfragen langsamer oder warte vor einem erneuten Versuch.
500 Internal Server ErrorInnerhalb des Servers ist ein allgemeiner Fehler aufgetreten.
502 Bad GatewayEin zwischengeschalteter Server hat eine ungültige Antwort vom dahinterliegenden Server erhalten.
503 Service UnavailableDer Dienst ist nicht verfügbar, häufig vorübergehend.
504 Gateway TimeoutEin 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; 307 und 308 behalten die Methode bei.
  • 304 bedeutet, 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.
4

Wie 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.

SkriptladenWann 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 deferNach dem Parsen des HTML, in Dokumentreihenfolge
Mit asyncSobald 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 defer das Parsen des HTML ab; async garantiert 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.
5

Richte 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:

  1. Lade den Editor von seiner offiziellen Website https://code.visualstudio.com/ herunter und installiere ihn.
  2. Erstelle einen Ordner wie web-projects/my-first-site.
  3. Wähle Datei → Ordner öffnen und öffne my-first-site, damit der Dateibaum das ganze Projekt zeigt.
  4. Erstelle index.html. Tippe im HTML-Modus ! und wähle den Emmet-Vorschlag für ein HTML-Grundgerüst.
  5. 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
VorschauAdresse beginnt mitGeeignete Verwendung
Datei direkt öffnenfile:///Einfache HTML- und CSS-Prüfungen
Lokalen Webserver ausführenhttp://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.

BereichWas er zeigt
Elemente oder Inspektor in FirefoxAktuelles DOM und Stile des ausgewählten Elements
KonsoleJavaScript-Meldungen, Fehler und eine Eingabeaufforderung
Quellen oder Debugger in FirefoxGeladene Quelldateien und Fehlersuche in Skripten
NetzwerkAnfragen 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
NameMethodeStatusContent-TypeÜbertragen
index.htmlGET200text/html8,2 kB
main.cssGET200text/css3,1 kB
app.jsGET200text/javascript1,4 kB
Hero.jpgGET404text/html0,6 kB
logo.pngGET200image/png18,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

5 Interaktive Lektionen

1

Verfolge eine Seite von der Anfrage bis zum Bildschirm

12 Schritte
Verfolge den Ladevorgang einer kleinen Seite und unterscheide eine fehlende Ressource von einer fehlgeschlagenen Verbindung.
  1. 1
    Einfü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.

  2. 2
    Erklä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.html an und der Server gibt eine Antwort zurück, deren Nachrichtenkörper HTML enthält.

  3. 3
    AnalogieBetrachte 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.

  4. 4
    BeispielZä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.

  5. 5
    HerausforderungÜ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.

  6. 6
    ErklärungFinde den Host, bevor du den Pfad anforderst

    Bei https://example.net/trails.html erkennt der Browser den Host example.net und 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.

  7. 7
    KernaussageSchütze die Verbindung

    Weil das Schema https lautet, 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.

  8. 8
    BeispielBaue 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.

  9. 9
    HerausforderungUnterscheide 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 404 für /trails.html zurü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.

  10. 10
    VerbindungNutze 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 Modified antworten. Dieser Austausch findet weiterhin statt, überträgt aber keinen neuen Ressourcenkörper, weil der gespeicherte noch nutzbar ist.

  11. 11
    HerausforderungGrenze den Fehler in der gesamten Abfolge ein

    Das HTML einer Seite gibt 200 zurück, ihre CSS-Anfrage aber 404. 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.

  12. 12
    ZusammenfassungWä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.

2

Lies eine URL und verfolge ihre Links

14 Schritte
Unterscheide Adressbestandteile, prüfe die Kontrolle über eine Domain und löse Pfade durch eine kleine Website auf.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungOrdne jedem Adressbestandteil eine Aufgabe zu
  2. 2
    BeispielTrenne das Ziel von der Ressource
  3. 3
    ErklärungTrenne Eingaben von einer Stelle auf der Seite
  4. 4
    HerausforderungÄndere nur das Fragment
  5. 5
    ErklärungLies einen Host von rechts
  6. 6
    BeispielUntersuche einen täuschend ähnlichen Host
  7. 7
    HerausforderungErkläre, was die Registrierung bietet
  8. 8
    ErklärungWähle den Ausgangspunkt des Links
  9. 9
    BeispielGehe aus einem verschachtelten Ordner nach oben
  10. 10
    BeispielProbiere einen anderen gültigen Ausgangspunkt
  11. 11
    HerausforderungFinde eine benachbarte Seite
  12. 12
    TippAchte auf die genaue Schreibweise des Pfads
  13. 13
    HerausforderungVerbinde die Prüfung von Host und Pfad
  14. 14
    ZusammenfassungLies, bevor du folgst
3

Lies einen Austausch und wähle den nächsten Prüfschritt

16 Schritte
Arbeite Anfragen, zwischengespeicherte Antworten, Weiterleitungen und Statushinweise durch.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungNutze die Nachrichten als Anhaltspunkte
  2. 2
    BeispielLies die erste Zeile und den Host
  3. 3
    ErklärungOrdne der Aktion eine Methode zu
  4. 4
    BeispielLies einen kleinen übermittelten Nachrichtenkörper
  5. 5
    HerausforderungÜberlege, was eine wiederholte Übermittlung bewirkt
  6. 6
    ErklärungUnterscheide Status, Header und Nachrichtenkörper
  7. 7
    BeispielVerbinde einzelne Anfragen mit einem Cookie
  8. 8
    BeispielVerwende zunächst eine frische Kopie
  9. 9
    BeispielPrüfe nach Ablauf der Frische
  10. 10
    HerausforderungErkläre eine kleine übertragene Datenmenge
  11. 11
    ErklärungGrenze das Problem anhand der Klasse ein
  12. 12
    BeispielUnterscheide Identität, Berechtigung und Pfad
  13. 13
    BeispielFolge einer neuen Adresse
  14. 14
    HerausforderungLies die Fehlerklasse genau
  15. 15
    HerausforderungLies die Antwort hinter dem Namen
  16. 16
    ZusammenfassungSetze die Nachrichtenteile zusammen
4

Mache aus Quelldateien eine aktuelle Seite

12 Schritte
Verfolge die Aufgaben von HTML, CSS und JavaScript und korrigiere dann ein Skript, das zu früh ausgeführt wird.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungVerfolge eine Schaltfläche von der Auszeichnung bis zum Verhalten
  2. 2
    BeispielGib dem Inhalt eine Bedeutung
  3. 3
    BeispielFüge eine Darstellungsregel hinzu
  4. 4
    ErklärungReagiere auf den Klick
  5. 5
    HerausforderungWähle die Datei für die Änderung
  6. 6
    ErklärungBaue den aktuellen Baum auf
  7. 7
    BeispielZu früh ausführen und nichts finden
  8. 8
    BeispielWarte auf das geparste Dokument
  9. 9
    KernaussageVergleiche den Quelltext mit dem aktuellen Ergebnis
  10. 10
    HerausforderungErkläre eine sichtbare Seite mit einer nicht funktionierenden Schaltfläche
  11. 11
    HerausforderungVerbinde Eintreffen, Ausführungszeitpunkt und aktuelles DOM
  12. 12
    ZusammenfassungVerbinde jede Phase mit ihrem Ergebnis
5

Richte eine Seite ein, sieh sie dir an, untersuche und korrigiere sie

15 Schritte
Nutze ein übersichtliches Projekt und drei Browserbereiche, um eine dauerhafte Korrektur im Quelltext zu überprüfen.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungNimm eine Änderung vor, die du überprüfen kannst
  2. 2
    ErklärungÖffne ein Projekt in einem Code-Editor
  3. 3
    BeispielSieh dir die Vorschau über HTTP an
  4. 4
    HerausforderungFinde heraus, warum eine Änderung zu fehlen scheint
  5. 5
    BeispielUntersuche das Element, das du ändern möchtest
  6. 6
    BeispielTeste einen Stil und speichere ihn dann
  7. 7
    HerausforderungSuche nach Hinweisen zu einer nicht reagierenden Schaltfläche
  8. 8
    TippPrüfe einen schmalen Viewport
  9. 9
    ErklärungZeichne den nächsten Ladevorgang von Anfang an auf
  10. 10
    BeispielLies die vollständige URL eines fehlgeschlagenen Bildabrufs
  11. 11
    BeispielPrüfe das Ergebnis der Quelltextkorrektur
  12. 12
    KernaussageUnterscheide Wiederverwendung von einer erneuten Übertragung
  13. 13
    HerausforderungDeute eine Weiterleitung und ihr Ziel
  14. 14
    HerausforderungVerbinde die Prüfungen im Editor und im Browser
  15. 15
    ZusammenfassungSchließe den Arbeitsablauf im gespeicherten Quelltext ab

Browser, Server und HTTP-Anfragen: Übungsaufgaben

40 Übungsfragen in 4 Sets

Set 1: Verfolge Adressen und Ressourcenanfragen10 Übungsfragen

Frage 1 von 10

Ein Browser fordert eine Wanderkarte an und ein Programm gibt das Bild zurück. Welche Rolle übernimmt das Programm, das das Bild zurückgibt?
  1. Die Clientrolle, weil es ein Bild verarbeitet.
  2. Die Cacherolle, weil es eine Anfrage verarbeitet.
  3. Die Serverrolle, weil es die Anfrage beantwortet.
  4. Die Browserrolle, weil es eine Ressource bereitstellt.
Antwort zeigenAntwort ausblenden
Antwort: C
Das Programm handelt als Server, weil es die Ressourcenanfrage des Clients beantwortet. Der Browser ist der Client, der den Austausch begonnen hat; die Verarbeitung eines Bildes bestimmt die Rolle nicht. Client und Server beschreiben, was die Beteiligten bei diesem Austausch tun, auch wenn beide Programme auf einem Computer laufen.

Frage 2 von 10

Eine neue Seite enthält eine HTML-Datei, ein Stylesheet, zwei Skripte und drei Bilder, alle auf einem Host. DNS- und Browserressourcencache sind anfangs leer. Wie viele Ressourcenanfragen sind nötig, um diese Dateien abzurufen?
  1. Sieben Ressourcenanfragen.
  2. Sechs Ressourcenanfragen.
  3. Acht Ressourcenanfragen.
  4. Eine Ressourcenanfrage.
Antwort zeigenAntwort ausblenden
Antwort: A
Zähle jede Ressource, einschließlich des ersten HTML: eine Seite, ein Stylesheet, zwei Skripte und drei Bilder ergeben sieben Anfragen. Die DNS-Abfrage ermittelt die Adresse des Hosts, ist aber keine zusätzliche HTTP-Ressourcenanfrage. Wenn du nur die verknüpften Dateien zählst, fehlt das Dokument, das sie zuerst nennt.

Frage 3 von 10

Was ist in https://learn.example.org:9443/notes.html?unit=4#tasks der angeforderte Pfad?
  1. learn.example.org:9443
  2. /notes.html?unit=4#tasks
  3. unit=4
  4. /notes.html
Antwort zeigenAntwort ausblenden
Antwort: D
Der Pfad ist /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

Eine Nachricht verlinkt auf https://billing.example.com.check.example.net/pay. Welche registrierte Domain kontrolliert diesen Host?
  1. example.com
  2. example.net
  3. check.example.net
  4. billing.example.com
Antwort zeigenAntwort ausblenden
Antwort: B
Lies den Host von rechts: .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

Eine Website wird unter Beibehaltung ihrer Ordnerstruktur aus dem Wurzelverzeichnis von 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?
  1. Der wurzelrelative Link behält den alten Host; der andere wechselt den Host.
  2. Beide Links bleiben in lessons; die funktionierende Kopie muss aus dem Cache kommen.
  3. Der relative Link steigt nach course auf; der führende Schrägstrich beginnt am Host-Wurzelverzeichnis.
  4. Der relative Link beginnt am Host-Wurzelverzeichnis; der führende Schrägstrich bleibt in course.
Antwort zeigenAntwort ausblenden
Antwort: C
Der Ordner der aktuellen Seite ist /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

Ein Formular erstellt eine neue Anmeldung zu einer Veranstaltung. Welche HTTP-Methode ist vorgesehen, um seine Daten zur Verarbeitung zu übermitteln?
  1. HEAD
  2. POST
  3. GET
  4. OPTIONS
Antwort zeigenAntwort ausblenden
Antwort: B
POST ist dafür vorgesehen, Daten zur Verarbeitung an den Server zu senden, und passt damit zum Erstellen einer Anmeldung. GET ist zum Abrufen von Ressourcen vorgesehen und sollte diese Zustandsänderung nicht anfordern. Formulardaten in eine URL zu setzen, macht eine Lesemethode nicht zur geeigneten Methode zum Erstellen eines neuen Eintrags.

Frage 7 von 10

Das HTML einer Website gibt 200 zurück. Die Anfrage nach ihrem Diagramm gibt 404 zurück. Was belegen diese Angaben?
  1. Der Server war für keine der beiden Anfragen erreichbar.
  2. Der Browser hat weder die Seite noch das Diagramm erhalten.
  3. Das Diagramm fehlte, weil der Benutzer eine Authentifizierung braucht.
  4. Der Server hat geantwortet, aber das angeforderte Diagramm nicht gefunden.
Antwort zeigenAntwort ausblenden
Antwort: D
Ein 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

Eine Überschrift ist richtig formuliert, braucht aber mehr Platz über sich. Welche Art von Quelltextänderung passt dazu?
  1. Eine Abstandsdeklaration in CSS ändern.
  2. Den Text der Überschrift in HTML ändern.
  3. Die Funktion zur Klickbehandlung in JavaScript ändern.
  4. Zeilenumbrüche über der Überschrift ergänzen.
Antwort zeigenAntwort ausblenden
Antwort: A
CSS steuert die Darstellung, einschließlich der Abstände um eine Überschrift. Die vorhandene Überschrift kann ihre semantische Rolle und ihren Wortlaut behalten, während eine Stildeklaration ihre Position ändert. Zeilenumbrüche im HTML als Abstandsersatz würden eine visuelle Anpassung in die Inhaltsstruktur des Dokuments mischen.

Frage 9 von 10

In einer durch Doppelklick auf 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?
  1. Dieselbe Seite mit einem Texteditor öffnen.
  2. Das Bild mit Großbuchstaben umbenennen.
  3. Das Projekt über einen lokalen HTTP-Server bereitstellen.
  4. Das Bild in den Cache des Browsers verschieben.
Antwort zeigenAntwort ausblenden
Antwort: C
Ein lokaler Server gibt dem Projekt ein HTTP-Wurzelverzeichnis, sodass /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

Du öffnest Netzwerk, nachdem eine Seite vollständig geladen wurde, und die Liste enthält keine ihrer ursprünglichen Anfragen. Wie kannst du den anfänglichen Ladevorgang aufzeichnen?
  1. Die Aufzeichnung aktiv lassen und bei geöffnetem Netzwerkbereich neu laden.
  2. Die Überschrift untersuchen und ihre CSS-Regeln ausschalten.
  3. Den Seitenquelltext lesen und die Seite unverändert lassen.
  4. Die Entwicklerwerkzeuge schließen, neu laden und sie wieder öffnen.
Antwort zeigenAntwort ausblenden
Antwort: A
Netzwerk muss geöffnet sein und aufzeichnen, während die Anfragen stattfinden. Beim Neuladen mit aktiver Aufzeichnung werden das Dokument und die von ihm ausgelösten Ressourcen erfasst. Wenn du den Bereich erst danach öffnest, werden bereits abgeschlossene Austausche nicht nachträglich erstellt; schließt du ihn vor einem weiteren Neuladen, wiederholt sich dasselbe Aufzeichnungsproblem.
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

Ein Bibliotheksserver sendet bei jeder Anfrage dieselbe gespeicherte Datei hours.html, führt aber ein Programm aus, um eine Antwort auf eine Katalogsuche zu erzeugen. Wie werden die beiden Antworten eingeordnet?
  1. Beide sind dynamisch, weil Browser sie anfordern.
  2. Die Öffnungszeiten sind dynamisch; die Suchantwort ist statisch.
  3. Beide sind statisch, weil beide HTML enthalten können.
  4. Die Öffnungszeiten sind statisch; die Suchantwort ist dynamisch.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein Browser öffnet https://example.net/find?q=trees#results. Welches Anfrageziel verwendet eine gewöhnliche HTTP/1.1-Anfrage?
  1. /find?q=trees#results
  2. /find?q=trees
  3. example.net/find
  4. /find#results
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Eine Seite liegt unter https://example.com/help/setup/linux.html. Das Stylesheet liegt unter https://example.com/assets/theme.css. Welcher relative Pfad führt dorthin?
  1. ../assets/theme.css
  2. assets/theme.css
  3. ../../assets/theme.css
  4. ../../help/assets/theme.css
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Eine Antwort enthält Content-Type: application/json. Was beschreibt dieser Header?
  1. Das Format des Antwortkörpers.
  2. Die Methode, die die Anfrage begonnen hat.
  3. Den Namen des Zielservers.
  4. Den Ablaufzeitpunkt der zwischengespeicherten Datei.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein geschützter Bericht antwortet vor der Anmeldung mit 401. Nach gültiger Anmeldung antwortet er mit 403. Was hat sich geändert?
  1. Der Bericht wurde erstellt und dann dauerhaft weitergeleitet.
  2. Der Bericht verlangte zunächst eine Identität und verweigerte danach weiterhin den Zugriff.
  3. Der Server fiel zunächst aus und dann wurde der Bericht nicht gefunden.
  4. Der Bericht verlangte zunächst eine Berechtigung und danach eine Identität.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Ein Browser sendet ein POST an /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?
  1. 301 verwenden, um eine dauerhafte POST-Weiterleitung beizubehalten.
  2. 304 verwenden, um die Registrierungsantwort wiederzuverwenden.
  3. 308 verwenden, um den Umzug als vorübergehend zu beschreiben.
  4. 307 verwenden, um POST-Methode und Nachrichtenkörper beizubehalten.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Ein Skript ändert nach dem Laden die Überschrift einer Seite. Wo kannst du den aktualisierten Elementtext untersuchen?
  1. In der Statuszeile der ursprünglichen Antwort.
  2. Im zwischengespeicherten DNS-Eintrag des Hosts.
  3. Im aktuellen DOM im Elemente-Bereich.
  4. Im ursprünglichen HTML unter Seitenquelltext anzeigen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Eine als HTML vorgesehene Seite wurde als home.html.txt gespeichert. Welche Korrektur des Dateinamens macht sie zu einer HTML-Quelldatei?
  1. home.html
  2. home.txt
  3. home.html.txt
  4. home-html.txt
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Du testest unter Elemente eine Absatzfarbe und das Ergebnis gefällt dir. Nach dem Neuladen kehrt die alte Farbe zurück. Wie kannst du die getestete Farbe behalten?
  1. Den angezeigten Text ändern und den Tab schließen.
  2. Die Änderung nach jedem Neuladen unter Elemente wiederholen.
  3. Das ursprüngliche HTML speichern, ohne CSS zu bearbeiten.
  4. Das CSS im Quelltext bearbeiten, speichern und neu laden.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Auf 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?
  1. Den Pfad beibehalten und prüfen, ob der Status 200 bleibt.
  2. /styles/site.css verwenden und CSS-Nachrichtenkörper und MIME-Typ prüfen.
  3. journal/styles/site.css verwenden und das Ersatz-HTML prüfen.
  4. Den Pfad beibehalten und dem zurückgegebenen HTML einen .css-Namen geben.
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

Ein Browser hat eine frische zwischengespeicherte DNS-Antwort für einen Host, aber keine zwischengespeicherten Seitenressourcen. Was kann er beim Öffnen einer Seite dort wiederverwenden?
  1. Den HTML-Nachrichtenkörper, ohne die Ressource anzufordern.
  2. Das Zertifikat als Beleg für die Ehrlichkeit des Websitebetreibers.
  3. Die Adresse des Hosts, ohne eine neue DNS-Abfrage.
  4. Den Antwortstatus, ohne den Server zu kontaktieren.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Zwei Links geben vor, dasselbe Hilfezentrum zu öffnen: 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?
  1. Beide gehören zu example.com; Zertifikate bestätigen einen gemeinsamen Inhaber.
  2. Beide gehören zu example.org; die linken Labels wählen die Hilfeseiten aus.
  3. Die Hosts haben nur verschiedene Inhaber, wenn ein Zertifikat ungültig ist.
  4. Ihre registrierten Domains unterscheiden sich; gültige Zertifikate belegen keinen gemeinsamen Inhaber.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Eine Seite unter https://example.net/reference/start.html verwendet ../about.html. Zu welcher Adresse löst der Browser den Link auf?
  1. https://example.net/about.html
  2. https://example.net/reference/about.html
  3. https://example.net/reference/start.html/about.html
  4. https://example.net/reference/../reference/about.html
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein Anmeldeformular verwendet POST über einfaches HTTP. Ein Entwickler sagt, das Passwort sei verschlüsselt, weil es nicht in der Adressleiste steht. Welche Änderung bietet Schutz bei der Übertragung?
  1. HTTP beibehalten und die POST-Felder umbenennen.
  2. HTTPS für die Formularübermittlung verwenden.
  3. GET verwenden, damit das Passwort zur Query-Eingabe wird.
  4. Ein Fragment hinzufügen, das das Passwort enthält.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Beim erneuten Laden liegt für ein Bild eine frische zwischengespeicherte Antwort vor und ein nicht mehr frisches Skript wird mit 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?
  1. 5 kB in Ressourcenkörpern.
  2. 9 kB in Ressourcenkörpern.
  3. 14 kB in Ressourcenkörpern.
  4. 0 kB in Ressourcenkörpern.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Eine Schaltfläche soll beim Anklicken eine Klasse hinzufügen, und diese Klasse soll die Farben der Seite ändern. Wie sollten die beiden Aufgaben verteilt werden?
  1. HTML behandelt den Klick; JavaScript definiert Farbdeklarationen.
  2. CSS behandelt den Klick; HTML schaltet den Klassenwert um.
  3. HTML definiert Farben; CSS bearbeitet den aktuellen Klassenwert.
  4. JavaScript ändert die Klasse; CSS definiert ihr Aussehen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Ein klassisches externes Skript im head-Element wird mit 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?
  1. defer hinzufügen, damit das Skript nach dem Parsen des HTML läuft.
  2. async hinzufügen, damit das Skript immer nach der Schaltfläche läuft.
  3. Das CSS der Schaltfläche vor die Skriptanfrage verschieben.
  4. Das Fragment der Skript-URL in die ID der Schaltfläche ändern.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Du speicherst eine Überschrift in 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?
  1. Die Schriftgröße und die Viewport-Breite.
  2. Die Netzwerkgeschwindigkeit und das Serverzertifikat.
  3. Das angezeigte und das bearbeitete Projekt.
  4. Die Bilddateiendung und den Stylesheet-Selektor.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Welche Ansicht der Entwicklerwerkzeuge zeigt den endgültigen Farbwert einer ausgewählten Überschrift?
  1. Die Methodenspalte unter Netzwerk.
  2. Der Tab für berechnete Stile.
  3. Der Tab Seitenquelltext anzeigen.
  4. Der Verlauf der Konsole.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Eine URL leitet während der Navigation weiter und du möchtest sowohl die ursprüngliche Antwortzeile als auch die Zielanfrage sichtbar halten. Welche Netzwerkeinstellung solltest du zuerst aktivieren?
  1. Alle CSS-Deklarationen deaktivieren.
  2. In den responsiven Gerätemodus wechseln.
  3. Nur den Bildtypfilter öffnen.
  4. Protokoll bei Navigation beibehalten aktivieren.
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

Das HTML einer Seite kommt von www.example.org, ihre Fotos sind aber unter photos.example.net adressiert. Wo fordert der Browser die Fotos an?
  1. Bei www.example.org, weil dieser Host das HTML gesendet hat.
  2. Bei photos.example.net anhand der Adresse jedes Fotos.
  3. Im aktuellen Seitenordner auf www.example.org.
  4. Bei dem Host, der das Stylesheet geliefert hat.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

HTML und CSS von 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?
  1. Der Logopfad fehlte; sein Host gab beim Laden der Seite 404 zurück.
  2. Der Logohost wurde erreicht, verweigerte aber das Bild; die Seite lud getrennt.
  3. Die Abfrage des Seitenhosts schlug fehl; der Cache lieferte seine 200-Antworten.
  4. Die Namensabfrage des Logohosts schlug fehl; die Seitenressourcen waren erfolgreich.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Welcher URL-Bestandteil beginnt nach # und wird lokal vom Browser behandelt?
  1. Der Query-String.
  2. Die Portnummer.
  3. Das Fragment.
  4. Der Hostname.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein Entwickler registriert eine Domain, hat aber noch keine Seitendateien auf einem Server bereitgestellt. Welche zusätzliche Aufgabe ist für eine Website nötig?
  1. Ressourcen auf einem Server hosten und den Namen darauf ausrichten.
  2. DNS-Einträge ergänzen, aber Seitendateien in einem nicht bereitgestellten lokalen Ordner behalten.
  3. www ergänzen und den Namen verlängern, ohne Serversoftware auszuführen.
  4. localhost als öffentlichen Namen verwenden und die Dateien nicht bereitstellen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein Formular sendet ein POST an /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?
  1. Zwei GET-Anfragen; es werden keine Kommentare erstellt.
  2. Ein POST, dann GET; ein Kommentar wird erstellt.
  3. Zwei POST-Anfragen; zwei Kommentare werden erstellt.
  4. Zwei POST-Anfragen; ein Kommentar wird erstellt.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Eine Anmeldeantwort enthält 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?
  1. Set-Cookie: session=xyz
  2. Location: session=xyz
  3. Content-Type: session=xyz
  4. Cookie: session=xyz
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Eine Seite zeigt „Dieser Artikel wurde nicht gefunden“, aber ihre Dokumentzeile hat den Status 200. Wie ist dieses Ergebnis zu beschreiben?
  1. Ein Soft-404: Inhalt meldet „nicht gefunden“ bei einem Erfolgsstatus.
  2. Ein DNS-Fehler: Der Server hat überhaupt keine Antwort gesendet.
  3. Ein 403: Der Wortlaut zeigt, dass die Leseberechtigung fehlt.
  4. Eine Weiterleitung: Der Browser muss die Adresse gewechselt haben.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Eine Seite verwendet <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?
  1. Die Überschrift behalten und mehrere Zeilenumbrüche davor setzen.
  2. Einen Absatz für den Hinweis verwenden und seine Größe in CSS festlegen.
  3. Die Überschrift behalten und sie wie einen Absatz gestalten.
  4. Eine kleinere Überschriftenebene für den Hinweis verwenden.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Zwei klassische externe Skripte stehen im head-Element: 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?
  1. Bei beiden async behalten und page.js zuerst aufführen.
  2. Beide Attribute entfernen und page.js zuerst aufführen.
  3. Bei beiden defer ergänzen und async bei helpers.js behalten.
  4. Bei beiden defer verwenden, async entfernen und helpers.js zuerst aufführen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Stile zeigt 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?
  1. Green ist ungültig; entferne jede passende Regel von der Seite.
  2. Teal wurde gespeichert; entferne CSS-Filter, um die Quelltextänderung zu sehen.
  3. Maroon setzte sich durch; speichere teal in der Quellregel, die den Wert liefert.
  4. Berechnet ist veraltet; ändere weiter die durchgestrichene green-Deklaration.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Hängst du bei deiner eigenen Aufgabe fest? Hausaufgabenhilfe

Schlüsselbegriffe

73 Schlüsselbegriffe, jeweils mit Definition

A

Absolute URL
Eine absolute URL gibt ihr eigenes Schema und ihren Host an, sodass ihr Ziel unabhängig von der Adresse der aktuellen Seite bestimmt werden kann.
Der Link https://example.net/help.html erreicht diesen Host unabhängig davon, ob er auf einer Startseite oder in einem verschachtelten Beitrag angeklickt wird.
Anfrageziel
Ein Anfrageziel bezeichnet die in einer HTTP-Nachricht angeforderte Ressource, üblicherweise durch ihren Pfad und Query-String ohne das URL-Fragment.
Das URL-Ende /guide?mode=short#tips ergibt bei einer gewöhnlichen Anfrage das Ziel /guide?mode=short.
Attribut
Ein Attribut liefert zusätzliche Informationen in einem öffnenden HTML-Tag, etwa href für ein Linkziel oder src für eine Bildquelle.
In <a href="team.html">Team</a> teilt das Attribut href dem Browser mit, wohin der Link führt.
Authentifizierung
Die Authentifizierung prüft die Identität eines Anfragenden, häufig über Zugangsdaten oder eine Sitzung, bevor geschützte Inhalte bereitgestellt werden.
Eine 401-Antwort kann bedeuten, dass die Anfrage eine gültige Authentifizierung benötigt, bevor der Server sie erfüllt.

B

Berechnete Stile
Berechnete Stile sind die resultierenden CSS-Werte, die der Browser unter Berücksichtigung geltender Regeln und der Vererbung für ein Element ermittelt.
Der Tab Berechnet zeigt die resultierende Farbe der Überschrift, wenn mehrere passende Regeln Farben festlegen.

C

Cache
Ein Cache ist ein Speicher für Kopien zuvor abgerufener Daten, die wiederverwendet werden können. Das verringert wiederholte Downloads oder Abfragen.
Ein frisches Logo im Cache kann bei deinem nächsten Besuch erscheinen, ohne den Bildinhalt erneut herunterzuladen.
Client
Ein Client ist ein Programm oder Gerät, das eine Anfrage an ein anderes Programm stellt, etwa ein Browser, der eine Seite von einem Webserver anfordert.
Wenn du einem Link folgst, handelt dein Browser als Client und fordert die Ressource unter dieser Adresse an.
Code-Editor
Ein Code-Editor ist ein Programm zum Schreiben von Quelldateien als reinen Text, mit Hilfen wie Syntaxhervorhebung, Vervollständigung und einem Projektdateibaum.
Wenn du den Website-Ordner in einem Editor öffnest, siehst du die HTML-Seite zusammen mit ihren CSS- und Bildordnern.
Content-Length
Der Header Content-Length gibt eine Anzahl von Byte für den Nachrichteninhalt an; diese Zahl entspricht nicht unbedingt der Anzahl lesbarer Zeichen.
Bei einer PNG-Antwort beschreibt Content-Length: 24576 24.576 Byte oder etwa 24,6 kB Inhalt.
Cookie
Ein Cookie ist ein kleiner gespeicherter Wert, den der Browser bei passenden Anfragen zurücksenden kann. Er hilft einem Server, diese Anfragen mit Sitzungsdaten zu verbinden.
Ein Server sendet einen Sitzungswert mit Set-Cookie; der Browser sendet ihn später in Cookie zurück.
CSS
CSS beschreibt die Darstellung von Dokumentelementen, einschließlich ihrer Farben, Abstände, Schriftarten und ihres Layouts.
Eine gemeinsame CSS-Datei kann die Farben von Überschriften auf mehreren Seiten ändern, ohne deren Text neu zu schreiben.

D

Deklaration
Eine Deklaration ist ein CSS-Eigenschaft-Wert-Paar wie color: teal;, das innerhalb einer Regel eine Darstellungseinstellung festlegt.
In p { color: navy; margin: 1rem; } legen zwei Deklarationen Absatzfarbe und Außenabstand fest.
DNS
DNS ist das verteilte Namenssystem, mit dem Browser Netzwerkadressen finden, die Domainnamen zugeordnet sind.
Bevor sich der Browser mit einem neuen Host verbindet, erhält er dessen Adresse von DNS oder aus einer kürzlich zwischengespeicherten Antwort.
DNS-Label
Ein DNS-Label ist ein Teil eines Domainnamens zwischen Punkten; gewöhnliche Host-Labels verwenden Buchstaben, Ziffern und Bindestriche und unterliegen Längenbeschränkungen.
Der Host help.example.org hat drei Labels, die von der allgemeinen Endung zum spezifischen Namen gelesen werden.
DOM
Das DOM ist der aktuelle Baum aus Dokumentelementen und Text, den der Browser aufbaut und den Skripte ändern können.
Nachdem ein Skript einen Absatz hinzugefügt hat, zeigt Elemente den neuen DOM-Knoten, obwohl der Seitenquelltext keinen solchen Absatz enthält.
Domainname
Ein Domainname ist ein lesbarer Internetname aus durch Punkte getrennten DNS-Labels, der über DNS auf ein Netzwerkziel verweist.
Der Name docs.example.com ist leichter zu merken als die numerische Adresse, die DNS dafür zurückgeben kann.
Drosselung
Drosselung simuliert in den Entwicklerwerkzeugen eine langsamere Netzwerkverbindung, damit du Reihenfolge und zeitlichen Ablauf des sichtbaren Seitenladens untersuchen kannst.
Eine Vorschau mit langsamem Netzwerk lässt leichter erkennen, dass Text erscheint, bevor ein großes Bild fertig geladen ist.

E

Entwicklerwerkzeuge
Entwicklerwerkzeuge sind Browserfunktionen zum Untersuchen der aktuellen Struktur, angewandter Stile, Skripte, Fehler und Netzwerkaustausche einer laufenden Seite.
Wenn du für eine Überschrift „Untersuchen“ wählst, öffnen sich die Werkzeuge mit diesem Teil der aktuellen Seite ausgewählt.

F

Forbidden-Antwort
Eine Forbidden-Antwort hat den Status 403. Sie bedeutet, dass der Server die Anfrage verstanden hat, den angeforderten Zugriff aber verweigert.
Ein Konto kann angemeldet sein und dennoch 403 erhalten, wenn ihm die Berechtigung zum Öffnen einer geschützten Ressource fehlt.
Fragment
Ein Fragment ist der URL-Bestandteil nach #, den der Browser lokal behandelt, häufig indem er zu einem Element mit passender ID scrollt.
Das Fragment #contact kann im abgerufenen Dokument scrollen, ohne contact an den Server zu senden.
Frische Antwort
Eine frische Antwort ist eine zwischengespeicherte Antwort, die sich noch innerhalb des Zeitraums befindet, in dem die Cache-Regeln eine Wiederverwendung ohne Rückfrage beim Server erlauben.
Eine Antwort mit max-age=600 kann 10 Minuten lang frisch bleiben, bevor erneut über ihre Frische entschieden werden muss.

G

Gateway-Zeitüberschreitung
Eine Gateway-Zeitüberschreitung ist eine 504-Antwort, die anzeigt, dass ein zwischengeschalteter Server die Antwort eines dahinterliegenden Servers nicht rechtzeitig erhalten hat.
Ein Proxy kann 504 zurückgeben, während er auf den Anwendungsserver wartet, der die Seite erzeugen sollte.

H

Host
Ein Host ist das in einer Web-URL genannte Ziel, üblicherweise ein Domainname oder eine IP-Adresse vor Beginn des Pfads.
In https://learn.example.net/intro ist learn.example.net der Host und /intro der Pfad.
HTML
HTML gibt Seiteninhalten durch Elemente wie Überschriften, Links, Bilder und Formulare Struktur und Bedeutung.
Ein Überschriftenelement bezeichnet eine Abschnittsüberschrift, selbst wenn das externe Stylesheet der Seite nicht geladen wird.
HTTP-Header
Ein HTTP-Header ist ein benanntes HTTP-Feld mit Informationen über eine Anfrage, eine Antwort oder einen Nachrichtenkörper, das häufig als Name: value dargestellt wird.
Der Anfrage-Header Accept: text/html besagt, dass der Client eine HTML-Antwort verarbeiten kann.
HTTP-Methode
Eine HTTP-Methode gibt die beabsichtigte Aktion einer Anfrage an, etwa GET zum Abrufen einer Ressource oder POST zum Übermitteln von Daten zur Verarbeitung.
Eine GET-Suche ruft Ergebnisse ab, während ein POST einen Kommentar zur Speicherung an den Server übermitteln kann.
HTTPS
HTTPS ist HTTP über eine TLS-geschützte Verbindung, die Nachrichten verschlüsselt und den Server für die Domain authentifiziert.
Eine HTTPS-Verbindung schützt ein übermitteltes Formular bei der Übertragung, auch wenn es mit POST gesendet wird.

I

Idempotente Methode
Eine idempotente Methode hat bei Wiederholung einer identischen Anfrage dieselbe beabsichtigte serverseitige Wirkung wie beim einmaligen Senden.
Ein wiederholtes DELETE fordert keine weitere eigenständige Löschung an, selbst wenn der zweite Antwortcode abweicht.
Internet
Das Internet ist das weltweite Netzwerk verbundener Computer, das Daten für das Web und andere Dienste einschließlich E-Mail überträgt.
Ein E-Mail-Programm und ein Webbrowser können beide das Internet nutzen und dabei unterschiedliche Dienste bereitstellen.
IP-Adresse
Eine IP-Adresse ist eine numerische Netzwerkadresse zur Identifizierung eines Ziels, die in einem Format wie IPv4 oder IPv6 geschrieben wird.
Die beispielhafte IPv4-Adresse 203.0.113.10 kann in einem Diagramm zum Laden einer Seite einen Zielserver darstellen.

J

JavaScript
JavaScript ist eine Programmiersprache, die in Browsern verwendet wird, um auf Ereignisse zu reagieren, die aktuelle Seite zu ändern und zusätzliche Daten anzufordern.
Eine Funktion zur Klickbehandlung kann dem Dokumentkörper eine Klasse hinzufügen, sodass das Stylesheet ein anderes Design anzeigt.

K

Konsole
Die Konsole ist ein Bereich der Entwicklerwerkzeuge, der Meldungen und Fehler anzeigt und für die aktuelle Seite eingegebenes JavaScript auswerten kann.
Ein Konsolenfehler mit app.js:8 verweist dich auf die Skriptzeile, die am fehlgeschlagenen Vorgang beteiligt ist.

L

Laufzeitfehler
Ein Laufzeitfehler tritt während der Codeausführung auf; wird er nicht abgefangen, beendet er den aktuellen Durchlauf und überspringt spätere Anweisungen darin.
Der Aufruf einer Methode auf null kann verhindern, dass ein Skript seine Schaltfläche einrichtet, obwohl es erfolgreich heruntergeladen wurde.
Layoutberechnung
Die Layoutberechnung ist die Berechnung von Größe und Position der Elemente durch den Browser, nachdem er die für diese Elemente relevanten Stile bestimmt hat.
Das Hinzufügen eines langen Absatzes kann neue Layoutberechnungen nötig machen, weil darunterliegende Inhalte nach unten rücken.
Leeres Element
Ein leeres Element ist ein HTML-Element, das keine Kindinhalte enthalten kann und kein schließendes Tag hat, etwa img, meta oder link.
Das Element <img src="map.png" alt="Trail map"> beschreibt ein Bild ohne zugehöriges schließendes Tag.
Lokaler Webserver
Ein lokaler Webserver ist Serversoftware auf deinem Computer, die Projektressourcen zur Entwicklung und zum Testen über HTTP bereitstellt.
Eine Vorschau unter http://localhost:5500/ behandelt einen wurzelrelativen Website-Pfad als Webpfad statt als Pfad vom Wurzelverzeichnis der Festplatte.
Loopback-Adresse
Eine Loopback-Adresse sendet Netzwerkverkehr an denselben Computer zurück, etwa 127.0.0.1 bei IPv4 oder ::1 bei IPv6.
Wenn du einen Server unter 127.0.0.1 öffnest, verbindet sich dein Browser mit einem Dienst auf deinem eigenen Computer.

M

MIME-Typ
Ein MIME-Typ bezeichnet das Format eines Nachrichtenkörpers, etwa text/css für CSS oder application/json für Daten.
Gibt eine CSS-Anfrage text/html zurück, prüfe, ob der Server stattdessen eine Fehlerseite geliefert hat.

N

Nachrichtenkörper
Ein Nachrichtenkörper ist der Inhalt, der nach den Headern einer HTTP-Nachricht übertragen wird, etwa übermittelte Formularfelder oder die Bytes eines zurückgegebenen Bildes.
Ein POST kann Kontodaten in seinem Anfragekörper übertragen, während eine GET-Antwort einen HTML-Nachrichtenkörper enthalten kann.
Netzwerkfilter
Ein Netzwerkfilter grenzt aufgezeichnete Anfragezeilen nach Kriterien wie Ressourcentyp oder Name ein und hilft dir, dich auf einen vermuteten Fehler zu konzentrieren.
Wähle den CSS-Filter, um ein fehlendes Stylesheet zu finden, während die anderen Anfragen der Seite ausgeblendet bleiben.

P

Parsen
Parsen ist das Lesen von Quelltext nach den Regeln einer Sprache und dessen Umwandlung in eine Struktur, die der Browser verwenden kann.
Während der Browser HTML parst, baut er Elemente auf und entdeckt die externen Dateien, die das Dokument nennt.
Pfad
Ein Pfad ist der Teil einer URL, der eine Ressource auf einem Host bezeichnet. Er entspricht manchmal Ordnern und Dateien und wird manchmal von Software verarbeitet.
Der Pfad /images/map.png teilt dem Server nach dem Verbinden mit, welche Ressource der Browser möchte.
Port
Ein Port ist eine Zahl, die einen Dienst auf einem Host auswählt; HTTP verwendet normalerweise 80 und HTTPS normalerweise 443 als Standardport.
Die 8080 in http://localhost:8080/ wählt den Port aus, den dieser lokale Testserver verwendet.
Projektordner
Ein Projektordner enthält die zusammengehörigen Quelldateien und Assets einer Website und bietet eine übersichtliche Grundlage zum Organisieren von Pfaden und zur Vorschau von Änderungen.
Wenn index.html, styles/ und images/ zusammenliegen, lässt sich leichter prüfen, ob ein Link zu einer Datei passt.
Protokoll beibehalten
Protokoll beibehalten ist eine Netzwerkoption, die aufgezeichnete Anfragezeilen während der Seitennavigation erhält und so eine Abfolge von Austauschen sichtbar macht.
Aktiviere Protokoll beibehalten, bevor du eine weiterleitende Adresse öffnest, damit die frühere Antwort sichtbar bleibt.

Q

Query-String
Ein Query-String ist die URL-Eingabe nach ?. Sie besteht häufig aus durch & getrennten name=value-Paaren und wird mit dem Anfrageziel gesendet.
In /search?q=css&page=3 liefert der Query-String sowohl den Suchbegriff als auch die angeforderte Ergebnisseite.

R

Registrar
Ein Registrar ist eine Organisation, die Domainregistrierungen und deren Verlängerungen für Kunden bei den von ihr unterstützten Domainendungen abwickelt.
Ein Websitebetreiber verlängert einen registrierten Namen über einen Registrar, um das Nutzungsrecht für eine weitere Laufzeit zu behalten.
Registry
Eine Registry ist die Organisation, die die maßgeblichen Registrierungseinträge für eine Top-Level-Domain und deren registrierte Namen verwaltet.
Die Registry führt die Domaineinträge der TLD, während ein Registrar die Registrierung des Kunden abwickelt.
Relative URL
Eine relative URL lässt einige Adressbestandteile weg und wird anhand der Adresse der aktuellen Seite aufgelöst, häufig ausgehend von deren Ordner.
Von /guide/start.html aus erreicht der Link images/icon.png den Ordner images innerhalb von /guide/.
Responsiver Modus
Der responsive Modus ist eine Vorschau der Entwicklerwerkzeuge, die die Viewport-Maße anpasst, um Layouts bei unterschiedlichen Bildschirmgrößen zu untersuchen.
Eine schmale responsive Vorschau kann seitlichen Überlauf sichtbar machen, auch wenn ein echtes Smartphone weiterhin eine eigene Prüfung braucht.
Ressource
Eine Ressource ist etwas, das durch eine Adresse bezeichnet wird, etwa eine HTML-Seite, ein Bild, ein Stylesheet, ein Skript, eine Schriftart oder ein Datenelement.
Eine Seite und ihre vier Bilder sind fünf Ressourcen, auch wenn der Browser sie zusammen darstellt.

S

Selektor
Ein Selektor ist der Teil einer CSS-Regel, der bestimmt, für welche Elemente die Darstellungsdeklarationen der Regel gelten sollen.
Der Selektor h2 in h2 { color: teal; } passt zu Überschriftenelementen der zweiten Ebene auf der Seite.
Server
Ein Server ist ein Programm oder der Computer, auf dem es läuft. Der Server empfängt Anfragen und gibt gespeicherte Ressourcen oder erzeugte Antworten zurück.
Ein Testserver auf deinem Laptop kann dem Browser antworten, während beide Programme auf demselben Computer laufen.
Sichere Methode
Eine sichere Methode ist eine HTTP-Methode, die zum Lesen von Informationen vorgesehen ist, ohne eine Änderung des Serverzustands anzufordern, etwa GET oder HEAD.
Das Öffnen eines normalen Seitenlinks sollte Inhalte abrufen, ohne eine Bestellung aufzugeben oder gespeicherte Daten zu löschen.
Soft-404
Ein Soft-404 ist eine Antwort, deren Inhalt angibt, dass eine Ressource nicht gefunden wurde, obwohl ihr HTTP-Status einen gewöhnlichen Erfolg meldet.
Eine Seite mit „Hier ist nichts“ und dem Status 200 unterscheidet sich von einer Antwort, deren tatsächlicher Status 404 ist.
Statuscode
Ein Statuscode ist ein dreistelliger Wert einer HTTP-Antwort, der das Ergebnis einer Anfrage beschreibt; die erste Ziffer bezeichnet seine Klasse.
Eine Seite kann für ihr HTML 200 und für ein Bild 404 haben, weil die Ressourcen eigene Anfragen haben.
Subdomain
Eine Subdomain ist ein Name, der durch zusätzliche Labels links von einer Domain entsteht und unter deren Kontrolle verwaltet wird.
Der Inhaber von example.com kann einen Dienst unter support.example.com einrichten, ohne eine neue Domain zu registrieren.

T

TLS
TLS, Transport Layer Security, ist die Technik, mit der HTTPS Nachrichten während der Übertragung davor schützt, gelesen oder verändert zu werden.
Der Browser richtet TLS-Schutz ein, bevor er eine gewöhnliche HTTPS-Anfrage an das Ziel sendet.
Top-Level-Domain
Eine Top-Level-Domain oder TLD ist die Ebene ganz rechts im Domainnamensystem, etwa .com, .org oder die länderspezifische Endung .nl.
In news.example.org ist .org die TLD; news ist ein spezifischeres Label unter dem registrierten Namen.

U

URL
Eine URL ist eine Adresse, die eine Ressource bezeichnet und beschreibt, wie darauf zugegriffen wird. Sie kann einen Query-String und ein Fragment enthalten.
In https://example.org/help.html#hours ist die gesamte Adresse die URL; example.org ist nur ihr Host.
URL-Schema
Ein URL-Schema ist der Anfang einer URL, der festlegt, wie sie behandelt wird, etwa https für verschlüsseltes HTTP oder file für eine lokale Datei.
Das Schema in http://localhost:8080/ weist den Browser an, HTTP für die lokale Vorschauanfrage zu verwenden.
UTF-8
UTF-8 ist eine Zeichenkodierung, die Zeichen als Bytes darstellt und die vielen Schriftsysteme unterstützt, die häufig in Webinhalten verwendet werden.
Speichere eine Seite als UTF-8 und deklariere diese Kodierung, damit der Browser Namen mit Akzenten einheitlich liest.

Ü

Übergeordnetes Verzeichnis
Ein übergeordnetes Verzeichnis ist der Ordner, der einen anderen Ordner enthält; ../ führt beim Auflösen eines relativen Webpfads eine Ebene nach oben.
Von /notes/week/page.html aus erreicht ../index.html nach einem Schritt nach oben /notes/index.html.
Übertragene Datenmenge
Die übertragene Datenmenge misst die bei einer aufgezeichneten Anfrage über das Netzwerk gesendeten Daten und kann von der gespeicherten Größe des Ressourcenkörpers abweichen.
Ein 304 überträgt Header ohne den Bildinhalt, sodass die aufgezeichnete Übertragung viel kleiner ist als das Bild.

V

Verzögert ausgeführtes Skript
Ein verzögert ausgeführtes Skript ist ein klassisches externes Skript mit defer, das nach dem Parsen des HTML ausgeführt wird und dabei die Dokumentreihenfolge unter solchen Skripten beibehält.
Ein verzögert ausgeführtes Skript für eine Schaltfläche kann eine später im HTML definierte Schaltfläche auswählen, weil das Parsen abgeschlossen ist.
Viewport
Ein Viewport ist der Bereich, in dem der Browser eine Seite anordnet und anzeigt. Seine Breite beeinflusst, wie der Inhalt auf den Bildschirm passt.
Wenn du den responsiven Viewport auf 375 CSS-Pixel verringerst, kannst du leichter erkennen, dass ein Menü nicht mehr hineinpasst.

W

Wasserfalldiagramm
Ein Wasserfalldiagramm ist die Zeitanzeige des Netzwerkbereichs. Es zeigt, wann Anfragen beginnen, wie lange sie dauern und wo sich ihre Zeiträume überschneiden.
Sich überschneidende Bildbalken zeigen, dass der Browser mehrere Bilder im selben Zeitraum abgerufen hat.
Weiterleitung
Eine Weiterleitung ist eine Antwort, die einen Client an eine andere Adresse verweist. Diese steht normalerweise bei einem Weiterleitungsstatus im Header Location.
Ein 301 von einer HTTP-Adresse kann den Browser dazu bringen, in einem zweiten Austausch die HTTPS-Adresse anzufordern.
World Wide Web
Das Web ist ein Dienst aus verknüpften Ressourcen, die durch Webadressen bezeichnet und über das Internet mit HTTP ausgetauscht werden.
Wenn du einem Seitenlink folgst, nutzt du das Web; das Internet überträgt auch Dienste, die keine Webseiten umfassen.
Wurzelrelativer Pfad
Ein wurzelrelativer Pfad beginnt mit / und bezeichnet einen Ort ausgehend vom Wurzelverzeichnis der aktuellen Website statt vom Ordner der aktuellen Seite.
Von jeder verschachtelten Seite auf example.org aus beginnt /images/logo.svg am obersten Pfad dieses Hosts.

Z

Zeichnen (Paint)
Das Zeichnen ist das Erzeugen der Pixel für die Seite durch den Browser, nachdem die nötigen Stile und das Layout bestimmt wurden.
Wenn sich eine sichtbare Textfarbe ändert, zeichnet der Browser den betroffenen Text in der neuen Farbe.
Zertifikat
Ein Zertifikat liefert Identitätsinformationen, mit denen ein Browser prüfen kann, ob ein Server berechtigt ist, die angeforderte Domain bereitzustellen.
Ein gültiges Zertifikat unterstützt die Prüfung einer sicheren Verbindung, aber auch eine betrügerische Website kann eines besitzen.
Zustandsloses Protokoll
Ein zustandsloses Protokoll behandelt jeden Austausch unabhängig, ohne ihn automatisch mit früheren Austauschen desselben Clients zu verknüpfen.
Eine spätere HTTP-Anfrage muss ein Cookie oder eine ähnliche Kennung senden, wenn der Server eine Sitzung erkennen soll.

Über diese Einheit

Von StudeliFehler melden

Erstelle deine eigenen Lernmaterialien

Mach aus deinen Notizen, Folien und Dokumenten Lernleitfäden, Übungsfragen, Karteikarten und 6 weitere Tools.

Jetzt starten