Entwicklung webbasierter Anwendungen (Vorlesung 15)

Skript-AnfangSkript – Seite 394
Skript-EndeSkript – Seite 423

Hypertext Transfer Protocol (HTTP)

  • Sehr altes Protokoll, das nur dazu Dient Dokumente anzufordern und zurück zu senden
  • Server antwortet einem anfragenden Client (z.B. Browser) auf jede HTTP-Anfrage mit einem HTTP-Statuscode
  • Der Statuscode informiert darüber, ob die Anfrage erfolgreich / nicht erfolgreich bearbeitet wurde (siehe Respone-Line)
  • Jeder Aufruf ist voneinander unabhängig, d.h. Zusammenhänge zwischen Aufrufen müssen über Umwege hergestellt werden
  • HTTP-Anfragen können mittels bestimmter Tools manipuliert werden → Versuch fehlerhaftes Verhalten zu erzeugen (Strafbar!)

Pull

  • Client stellt Anfrage beim Server
  • Klassischer Ansatz
  • Dafür wurde HTTP ausgelegt
  • Client ruft Inhalte bei einem Server auf, bekommt auf seinen Request also eine Response mit Informationen geliefert

Push

  • Server übermittelt ungefragt Daten an Client
  • Hat sich nicht durchgesetzt
  • Wäre technisch dennoch möglich
  • Client würde bei einem Server „Channel“ abbonieren und der Server würde neue Inhalte aus diesen Kanälen an den Client ohne Rückfrage übermitteln

Request-Line

  • Befehle wie PUT und DELETE existieren zwar, werden vom Webserver nicht weiter verarbeitet

Request-Header

  • Client kann Anfragen stellen wie „Liefere mir nur Seiten, die neuer sind als DATUM
  • User-Agent → Informationen über den Browser um Kompatibilitätsprobleme zu behandeln
  • Referer → „Von welcher Seite komme ich?“ → Provisionsmodelle
  • Conttent-Encoding → Wenn Client und Server das gleiche Komprimierungsverfahren beherrschen → Übermittle komprimiert um Traffic zu reduzieren

Response-Line

  • Text ist eine für den Mensch lesbare Meldung
  • Zahl ist eine präzisere Meldung für den Client
  • Statuscodes
    • 200 – OK
    • 404 – Not Found

Klausur

  • HTTP-Nachrichten – Headerinformationen bzw. Bits müssen nicht gesetzt werden

Session

  • Lange individuelle Zeichenkette zur Identifikation
  • Umsetzung über PHP und versteckte Felder
  • Session-Nummer kann auch in der URL übertragen werden, kann dadurch jedoch ausgespäht werden (Personen im Sichtfeld)
  • Über eine Manipulation kann man versuchen in die Session eines Anderen sich einzuklinken
  • Session-Nummer wird über Cookies gemerkt (siehe Amazon → „Du bist nicht Max Mustermann?„)
  • Zweistufige Erkennung → Login ist am Ende immer noch notwendig (siehe Amazon)
  • Server setzt irgendwann die Session zurück → Session timed out

Cookies

  • Browser unterstützen standardmäßig Cookies
  • Bei vielen Browsern ist der integriert Cookie-Mechanismus deaktiviert
  • Umweg über Hidden-Field bzw. URL wieder möglich
  • PHP unterstützt automatisierte Workarounds (PHP kümmert sich von selbst darum)→ Session dann z.B. in URL
Maximilian
Maximilian

Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.