http präsentation von stefan gimbel, stefan wurzer und thomas eschbach
TRANSCRIPT
HTTPPräsentation von Stefan Gimbel,
Stefan Wurzer und Thomas Eschbach
Gliederung Einführung Stefan Gimbel
Definition hypertextWas ist http?Entwicklung von http
http - Transaktionen Thomas Eschbachhttp-headerAnfrage (Client-Request)
Antwort (Server-Response-Codes) Stefan Wurzerhttp und SicherheitZusammenfassung / Ausblick
3. Semester Wirtschaftsinformatik
Einführung
Einführunghttp-Transaktionen
Definition hypertextWas ist http?Entwicklung von http
Präsentation von Stefan Gimbel
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
- Verbindungen zw. Dokumenten, die das Ziel haben, Begriffe zu erklären und auf andere Dokumente hinweisen
- nichtlineare Folge von Text
- Inhalte in mehreren Dateien
- Netzorganisation
- „hyper“ = auch Bild-, Ton- und Videoinformationen können eingebunden werden
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
Einfache Hypertextstruktur
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
http ist das Transferprotokoll für Hypertext
Definition „Protokoll“:• Festlegung eines Übertragungsstandards• Vereinbarte Logik für Datenübertragung
(Inhalt, zeitlicher Ablauf)
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
• Informationen werden in Form von Webseiten gespeichert
• Verknüpfung über Weblinks
• Funktion von http: erforderliches Verfahren zum Zugriff auf nicht lokal gespeicherte Informationen
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
Schema einer HTTP-Übertragung:
• Verbindungsaufbau
(Aufbau einer TCP-Verbindung vom Client zum Server)• Request
(vom Client zum Server)• Response
(vom Server zum Client)• Verbindungsabbau
(seit HTTP/1.1 kann Verbindung bestehen bleiben)
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
Arten von HTTP-Übertragungen:
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
Direkte Verbindung zwischen User Agent und Origin Server
Verbindung über ein oder mehrere Proxies, Tunnel oder Gateways
Die Verbindung mit Proxy, der das Dokument im Cache hat
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
Technische Daten:• http gehört zu den Anwendungsschichten (5-7)• benutzt TCP aus Transportschicht (4)• benutzt IP aus Netzwerkschicht (3)• zustandsloses Protokoll• bisherige Versionen:
» HTTP/0.9» HTTP/1.0» HTTP/1.1
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
HTTP/0.9
• Entwicklung 1990 von Tim Berners Lee für eigenen Gebrauch
• Idee und Source-Code öffentlich im Internet
• Rapide Ausbreitung → inoffizieller Standard
• Einfache Client-Server-Struktur
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
HTTP/1.0
• Von der IETF (Internet Engineering Task Force) vorgestellt
• Übertragung anderer Dokumente (außer HTML) nun auch möglich
• Neue Methoden, Metainfos, etc.• ABER: Nicht-Textinformationen brauchen eigene
Verbindungen!!
Einführung Definition hypertext Was ist http? Entwicklung von httphttp-TransaktionenStefan Gimbel
HTTP/1.1
• Jetzt persistente Verbindungen möglich• erst bei Schließung oder Timeout Ende der
Verbindung• neue Methoden• Einzelne Transfers können mehrere Nicht-
Textdokumente beinhalten
http-Transaktionen
Einführunghttp-Transaktionen
http-headerAnfrage (Client-Request)
Präsentation von Thomas Eschbach
http-Transaktionen
Einführunghttp-Transaktionen http-header
Thomas Eschbach
Request / Status Line
General Header
Request / Response Header
Entity Header
Entity Body
4 Arten header:
1. General header
2. Request header
3. Response header
4. Entity header
General Header
Einführunghttp-Transaktionen http-header
Thomas Eschbach
enthalten allgemeine
Informationen über den
Request bzw. Response
z.B. Cache-Control Connection Date Via
Request Header
Einführunghttp-Transaktionen http-header
Thomas Eschbach
enthalten nähere
Angaben zur Anfrage
des Clients
z.B. Accept Authorization Host User-Agent
Response Header
Einführunghttp-Transaktionen http-header
Thomas Eschbach
werden nur in
Antworten des Servers
verwendet
z.B. Age Location Server Vary
Entity Header
Einführunghttp-Transaktionen http-header
Thomas Eschbach
geben nähere Informationen
über das Dokument,
das im Body übertragen wird
z.B. Allow Content-Encoding Content-Length
Client Requests
Einführunghttp-Transaktionen http-header Client Requests
Thomas Eschbach
Die Methoden sind je nach Version anders.
Methoden der Version 1.1:
PUT
POST
GET
Client Requests
Einführunghttp-Transaktionen http-header Client Requests
Thomas Eschbach
Methoden der Version 1.1:
HEAD
DELETE
TRACE
Client Requests
Einführunghttp-Transaktionen http-header Client Requests
Thomas Eschbach
Methoden der Version 1.1:
OPTIONS
CONNECT
http-Transaktionen
Einführunghttp-Transaktionen
Antwort (Response-Codes)http und SicherheitZusammenfassung/Ausblick
Präsentation von Stefan Wurzer
Server-Response-Codes
Einführunghttp-Transaktionen Response-Codes
- geben Auskunft über Erfolg oder Misserfolg
einer Ausführung eines Requests
- Dreistelliger numerischer Code
- Es findet eine Zuteilung der numerischen
Codes in spezifische Texte statt
- Einteilung in fünf verschiedene Klassen
Stefan Wurzer
Einführunghttp-Transaktionen Response-Codes
1xx: Informational
Response ist informeller Natur (Erst bei HTTP 1.1)
Stefan Wurzer
-100: Continue: Server teilt mit, dass er die Anfrage weiter bearbeiten will und
dass der Client seine Daten übertragen kann
-101: Switching Protocols: Dies kündigt an, dass der Server vom aktuellen Protokoll auf ein anders wechselt
Einführunghttp-Transaktionen Response-Codes
Stefan Wurzer
2xx: Client-Request erfolgreich Diese Meldungen zeigen dem Client an, dass
die Anfrage erfolgreich bearbeitet wurde
-200: O.K.: Anfrage wurde erfolgreich bearbeitet
-201: Created: Dieser Statuscode besagt, dass eine neue Ressource angelegt wurde
-204: No Content: Diese Nachricht enthält keine Nutzdaten
-205: Reset Content: Mit diesem Code werden die Eingabefelder in einem Formular zurückgesetzt
Einführunghttp-Transaktionen Response-Codes
Stefan Wurzer
-300: Multiple Choice: Es gibt mehrere Varianten der Ressource auf dem Server und
es wird dem Client überlassen, sich einen der Orte
auszuwählen, welche in den Nutzdaten angegeben ist
-305: Use Proxy: Der Client soll die Anfrage über den (im Location-Header angegebenen) Proxy wiederholen
3xx: Weiterleitung/Umleitung Falls ein Dokument verschoben wurde, kann der Server
so konfiguriert werden, dass er automatisch die neue
Adresse angibt
Einführunghttp-Transaktionen Response-Codes
Stefan Wurzer
-400: Bad Request: Anfrage enthielt Fehler und konnte vom Server nicht in korrekter
Weise bearbeitet werden
-401: Unauthorized: Die Authorisierung, um auf die Daten zuzugreifen, wurde mit der Anfrage nicht mitgesendet
-404: Not Found: Das angegebene Dokument wurde nicht gefunden
4xx: Client-Request unvollständig Diese Codes werden verwendet, wenn die Client-
Anfrage Fehler oder Irrtümer aufweist
Einführunghttp-Transaktionen Response-Codes
Stefan Wurzer
5xx: Server-Fehler Es traten Fehler auf dem Server auf, trotz richtiger
Anfrage
-501: Not implemented: Der Server kann die Anfrage nicht bearbeiten, weil ihm z.B.
die Methode nicht bekannt ist
-505: HTTP Version Not Supported: Die HTTP-Version wird vom Server nicht
unterstützt
HTTP und Sicherheit
Einführunghttp-Transaktionen Response-Codes HTTP und Sicherheit
Sicherheit wird benötigt für:
-Kreditkarten-Zahlungen
-Log-In auf geschützten Seiten
-Sicheren Datentransfer (Datenintegrität)
Stefan Wurzer
HTTP kann sich hier verschiedener Mechanismen bedienen.
Jedoch bietet HTTP nur die Möglichkeit der Authentifizierung.
Einführunghttp-Transaktionen Response-Codes HTTP und Sicherheit
Zugriffsbeschränkung auf IP-Basis:
(nicht nur auf HTTP beschränkt)
Ziel bei einer Zugriffsbeschränkung auf Basis der IP-Adresse des Clients
ist:
-Einschränkung der Benutzergruppen
Schwachpunkt: In kleinen Netzen (wie Firmennetzen) gut realisierbar.
Spätestens bei der Nutzung eines Dialup-Zugangs bei einem großen
Provider tauchen Schwierigkeiten auf
Stefan Wurzer
Einführunghttp-Transaktionen Response-Codes HTTP und Sicherheit
Authentification:
- Username und Passwort werden benötigt zum Ressourcenzugriff
Basic Authentification
Eine Authentifizierung erfolgt in vier Schritten:
-Client führt einen Request ohne Authentifizierung durch
-Server schickt den Response-Code „401 Unauthorized“ zurück
-Client schickt mit einem neuen Request die Authentifizierung
-Server prüft die Angaben und liefert das entsprechende Dokument aus
Bei diesem Verfahren können jedoch Passwörter leicht ausgespäht werden.
Deshalb wird eher die DIGEST AUTHENTIFICATION verwendet!
Stefan Wurzer
Einführunghttp-Transaktionen Response-Codes HTTP und Sicherheit
HTTPS:
Hypertext Transfer Protocol Secure Sockets
- HTTP über einen gesicherten Kanal via dem Verschlüsselungsverfahren Secure
Socket Layer (SSL)
- Die zu versendenden Daten werden verschlüsselt
Einsatzgebiete:
Bei der Übertragung sensibler Daten via HTTP
-Passwörter
- Girokonto oder Patientendaten
Stefan Wurzer
Zusammenfassung
Einführunghttp-Transaktionen Response-Codes HTTP und Sicherheit Zusammenfassung/Ausblick
- HTTP ist eines der wichtigsten und meist benutzten Internetprotokolle
- Popularität von HTTP ist enorm gestiegen
anfänglich nur zur Dokumentenabfrage benutzt
jetzt durch die zahlreichen Webanwendungen (Online-Banking,
web-basierte eMail-Clients etc.) sehr beliebt
- Mittlerweile können auch multimediale Inhalte dargestellt werden
- Sicherheitslücke ist ein ständiges Problem
- Zunehmende Bedeutung des Webbrowsers
- Kommerzialisierung des Internets
Stefan Wurzer
HTTP
Vielen Dank für Ihre Aufmerksamkeit!
It´s my party, and I cryIf I want to,you would cry too, if ithappened to you!
Stefan Gimbel, Stefan Wurzer, Thomas Eschbach