Qgelm

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
schulung:statischer_http_server [2021/12/06 22:37] Thomasschulung:statischer_http_server [2022/01/11 16:28] (aktuell) – index.html Thomas
Zeile 74: Zeile 74:
   * In späteren HTTP-Versionen kommen weitere Request-Typen dazu: PUT, DELETE, ... Die spielen aber beim Web-Surfen auch keine bedeutende Rolle.   * In späteren HTTP-Versionen kommen weitere Request-Typen dazu: PUT, DELETE, ... Die spielen aber beim Web-Surfen auch keine bedeutende Rolle.
    
-Im wirklichen Leben macht sich ein [[Schulung:http_real_server|richtiger Web-Server]] etwas mehr Arbeit bei seinem Response...+Zu Übungszwecken ersetzen wir den etwas zu einfachen HTTP Server von eben mit dem nächst einfachen Modell, das jede Ressource in der URL als Dateinamen im aktuellen Verzeichnis interpretiert: 
 +<code> 
 +cd ~/Schulung/html 
 +echo "Dies ist ein Test." > test.txt 
 +python3 -m http.server 8000 
 +</code> 
 + 
 +und auf der //Client// Seite verwenden wir jetzt auch mal ein etwas leistungsstärkeres Erprobungstool: **curl** verhält sich wie ein richtiger Browser, gibt aber alle Request-Inhalte direkt als Text im Terminal aus. Beachte das **-v**! Damit wird die eigentliche http-Kommunikation mit rausgeschrieben, einschließlich aller Header-Zeilen:  
 + 
 +<code> 
 +curl -v http://localhost:8000/test.txt 
 +</code> 
 + 
 +Das Ergebnis sieht dann in Summe etwa so aus: 
 +{{:schulung:curl.png?direct}} 
 + 
 +Aber schon wenn man ein echtes (wenn auch recht einfaches) HTML Dokument auf diesem Weg anzeigen will, dann sieht man nicht viel. Beispiel für so eine Datei: 
 + 
 +<code html> 
 +<!doctype html> 
 + 
 +<html lang=de> 
 + 
 +<head> 
 +  <meta charset=utf-8> 
 +  <title>Schulungsseite</title> 
 +</head> 
 + 
 +<body> 
 +  <h1>Willkommen</h1>   
 +  <p>Diese Seite dient nur zu Schulungszwecken.</p> 
 + 
 +  <img src="nachbarn.png"></img> 
 + 
 +  
 +  <li> <a href="gollum.jpg">Dies ist ein Link auf ein weiteres Bild...</a> </li> 
 +  <li> <a href="existiert.nicht">und dieser Link provoziert eine 404 Fehlermeldung.</a></li> 
 + 
 +</body> 
 + 
 +</html> 
 +</code> 
 + 
 +Deshalb schauen wir uns das Ergebnis lieber in einem richtigen Browser an. 
 + 
 +Im wirklichen Leben macht sich außerdem ein [[Schulung:http_real_server|richtiger Web-Server]] etwas mehr Arbeit bei seinem Response...