lehrkraefte:blc:informatik:efi-2023:http

This is an old revision of the document!


HTTP-Protokoll

Grundbegriffe:

  • Client (normalerweise ein Browser)
  • Server (normalerweise ein Webserver einer Webseite)
  • URL
  • Request (vom Client ausgelöst), Response (vom Server als Anfrage auf einen Request)
  • Header (Meta-Informationen zum Request oder zur Response)
  • Content (Eigentlicher Inhalt des Requests (kann leer sein) oder der Response)
  • Statuscodes Doc Fun
  • Cookies sind Key/Value-Pairs, können in der Response auf dem Client gesetzt werden, werden in jedem Request geliefert.
  • Besuchen Sie die «sehr einfache Webseite» https://blog.fefe.de/
  • Öffnen Sie die Entwicklertools (F12)
  • Öffnen Sie den Tab «Network» und studieren Sie dort die Headers (auch raw!)
  • Im gleichen Tab, mit den Entwicklertools offen, besuchen Sie https://ksbg.nesa-sg.ch/
  • Studieren Sie die Request- und Response-Headers, insbesondere die Cookies.
  • Loggen Sie sich mit falschem Passwort ein (z.B. XXXXXXXXXXX, das sieht man gut).
  • Studieren Sie dann den Request, insbesondere den Inhalt.

Curl ist ein extrem mächtiges Kommandozeilentool, um diverse Web-Zugriffe (und andere Protokolle) auszuführen.

Firefox und Chrome erlauben es, einen Request direkt als curl-Kommandozeile zu kopieren und ihn so zu reproduzieren.

Damit das mit Nesa funktioniert, müssen jeweils auch die Cookies (und evtl. weitere Dinge) mitgsendet und angepasst werden. Dazu werden die folgenden Optionen zusätzlich verwendet:

curl -L -b nesa-cookies.txt -c nesa-cookies.txt ....

Damit werden Redirects verfolgt (-L) und die cookies aus einer Datei gesendet (-b) und gespeichert (-c).

Wir könnten mit regular Expressions dahinter, das ist aber mühsam und unstabil.

Wir verwenden deshalb eine Bibliothek, die HTML parsen kann und womit der entstehende Baum mit XPath durchsucht werden kann.

Um sich nicht die ganze Zeit in NESA neu anzumelden, speichern Sie jeweils die aktuelle Seite in Datei und laden Sie diese direkt ins Programm. Um eine Seite weiterzukommen, müssen die Seiten aber vom Web geladen werden.

  • lehrkraefte/blc/informatik/efi-2023/http.1707210404.txt.gz
  • Last modified: 2024/02/06 10:06
  • by Ivo Blöchliger