Starte einen Server auf deinem eigenen Computer und verstehe, warum ihn sonst niemand sehen kann.
Diese Lektion in Kodokon öffnenWenn du eine Website baust, wirst du sie nicht nach jeder einzelnen Änderung im Internet veröffentlichen. Du startest einen Server auf deinem eigenen Computer und rufst ihn mit deinem Browser auf. Diese Maschine, deine, hat einen reservierten Namen: localhost, wörtlich "der lokale Host". Sie hat auch eine reservierte IP-Adresse, 127.0.0.1, die immer "ich selbst" bedeutet, auf jeder Maschine der Welt.
Aber ein Computer kann mehrere Server gleichzeitig laufen lassen. Woher weißt du, mit welchem du gerade redest? Über die Ports. Wenn die IP-Adresse die Adresse des Gebäudes ist, dann ist der Port die Wohnungsnummer: eine Zahl zwischen 1 und 65535, die das Programm bezeichnet, das antworten soll. Einige sind festgelegt: Port 80 für http, 443 für https. In der Entwicklung nimmt man oft 3000, 5173 oder 8000. Der Port wird hinter den Namen geschrieben, getrennt durch einen Doppelpunkt: http://localhost:8000.
cd my-site
python3 -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...Lass dieses Terminalfenster offen: Solange der Befehl läuft, antwortet der Server. Öffne jetzt http://localhost:8000 in deinem Browser, und du siehst die Dateien im Ordner my-site. Um den Server zu stoppen, gehst du zurück ins Terminal und drückst Strg + C.
Warum dieser ganze Aufwand, wo doch ein Doppelklick auf index.html die Seite ebenfalls öffnet? Weil ein Doppelklick die Datei unter der Adresse file:///C:/Users/... öffnet und nicht unter http://. Und mehrere Funktionen des Webs weigern sich schlicht, außerhalb des http-Protokolls zu arbeiten: Anfragen an einen Server, JavaScript-Module, bestimmte Schriften. Du bekommst dann rätselhafte Fehler, die wie von Zauberhand verschwinden, sobald du über localhost gehst.
lsof -i :8000
COMMAND PID USER FD TYPE NODE NAME
python3 4821 sarah 3u IPv4 TCP *:8000 (LISTEN)