Menu Close

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

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.

Index