Verstehe, wer wen worum bittet, wenn eine Webseite auf deinem Bildschirm erscheint.
Diese Lektion in Kodokon öffnenStell dir ein Restaurant vor. Du setzt dich hin, du rufst den Kellner, du bestellst ein Gericht, und der Kellner bringt es dir. Das Web funktioniert genau so. Du mit deinem Browser bist der Client: Du bist derjenige, der fragt. Auf der anderen Seite sitzt ein Server: ein Computer, der rund um die Uhr eingeschaltet ist, irgendwo in einem klimatisierten Gebäude, und dessen einzige Aufgabe darin besteht, auf Anfragen zu warten und sie zu beantworten. An einem Server ist nichts Magisches: Es ist eine Maschine wie deine, nur dass sie nie schläft und keinen Bildschirm hat.
Das Wichtigste, was du dir merken solltest: der Server macht nie den ersten Schritt. Er schickt dir nichts, solange du nichts verlangt hast. Jedes Mal, wenn du eine Adresse eintippst oder auf einen Link klickst, schickt dein Browser eine Anfrage, und der Server schickt eine Antwort zurück. Anfrage, Antwort. Anfrage, Antwort. Das ganze Web besteht aus diesem Hin und Her.
Damit eine Anfrage ihr Ziel erreicht, hat jede vernetzte Maschine eine IP-Adresse: eine Zahlenfolge, die wie eine Postanschrift funktioniert, zum Beispiel 93.184.215.14. Deine Nachricht wird nicht am Stück verschickt: Sie wird in kleine Stücke zerlegt, die man Pakete nennt. Jedes Paket nimmt seinen eigenen Weg über Dutzende von Zwischenstationen, und am Ziel werden sie wieder in der richtigen Reihenfolge zusammengesetzt. Mit dem Befehl ping kannst du prüfen, ob eine Maschine antwortet.
ping -c 2 example.com
PING example.com (23.215.0.136): 56 data bytes
64 bytes from 23.215.0.136: icmp_seq=0 ttl=54 time=17.3 ms
64 bytes from 23.215.0.136: icmp_seq=1 ttl=54 time=16.9 ms
--- example.com ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet lossUnd was schickt der Server genau zurück? Text. Eine Webseite ist nichts anderes als eine Textdatei in HTML, die der Server dir schickt und die dein Browser dann darstellt. Du kannst dir das ohne Browser mit eigenen Augen ansehen, mit dem Werkzeug curl: Es schickt eine Anfrage und gibt die rohe Antwort im Terminal aus.
curl -s https://example.com | head -n 5
<!doctype html>
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />