HTTP/HTTPS Jonas Reckziegel und Simon Rath Inhaltsverzeichnis • • • • • • • • • • Grundinformationen Geschichte URI HTTP Aufbau/Ablauf einer Nachricht HTTPS HTTP vs. HTTPS SSL-Zertifikat TLS Literaturverzeichnis Grundinformationen zu HTTP(S) Protokoll zum Datenaustausch Aufbauend auf TCP/IP Arbeitet auf der Anwendungsschicht (7. Schicht) Rein für die Interpretation verantwortlich! Geschichte Gestartet von Tim Berners-Lee 1989 Wurde am CERN entwickelt Eingeführt in 1991 Aktuelle Version: 2 URI Uniform Resource Identifier Verweisen auf den Pfad oder den Namen der Ressource scheme “:” hier-part [“?” query][“#” fragment] HTTP HyperText Transfer Protocol Port 80, TCP Request – Response Protokoll Unverschlüsselt, Übertragung in Textform HTTP-Anfragemethoden GET POST PUT DELETE • Ressource vom Webserver wird angefragt • Erstellt Ressource ohne Identifier • Erstellt Ressource mit bekannten Identifier • Löscht die Ressource am Webserver Aufbau einer Nachricht Nachrichten Aufbau • Anfrage (engl. Request) -> Client an Server • Antwort (engl. Response) -> Server an Client • Start-Line • Nachrichtenkopf (engl. Header) -> Details über Kodierung, Inhaltstyp,.. • Nachrichtenrumpf (engl. Body) -> Nutzdaten Aufbau einer Request Methode Start Headers URI HTTP Version GET /index.html HTTP/1.1 Host: localhost Cookie: <list> Accept: text/html HTTP Status Codes 1XX: Informational • Anfrage erhalten/verarbeitet 2XX: Success • Anfrage erhalten, verstanden und akzeptiert 3XX: Redirection • Weitere Aktion muss erfolgen um Anfrage abzuschließen 4XX: Client Error • Anfrage enthält falsche Syntax oder kann nicht verarbeitet werden 5XX: Server Error • Der Server konnte eine gültige Anfrage nicht verarbeiten Ablauf einer HTTP-Anfrage GET /index.html HTTP/1.1 HTTP/1.1 200 OK Client Webserver HTTPS HyperText Transfer Protocol Secure Erweiterung von HTTP Erstmals 1994 veröffentlicht TCP, Port 443 Verschlüsselt HTTP vs. HTTPS HTTP HTTPS Erstmals ab 1991 Erstmals ab 1994 Nicht verschlüsselt (Textform) Verschlüsselt (SSL/TLS) Schnell Langsamer Zeit für 10.000 Anfragen über HTTP: 4,302 Sekunden Zeit für 10.000 Anfragen über HTTPS: 12,153 Sekunden TLS/SSL-Zertifikat Enthält mehrere Details (Aussteller, Public Key, etc.) Ausgestellt von einer Zertifizierungsstelle Garantiert Identität des Servers Asymmetrische Verschlüsselung der Kommunikation TLS Transport Layer Security Nachfolger von SSL Asymmetrische Verschlüsselung Durch Zufallswerten wird Master-Secret generiert • Welchen (Standard-)Port benutzt HTTP bzw. HTTPS? • Port 80 (HTTP), 443 (HTTPS) Quiz • Welche Methode wird beim Absenden eines Formulars verwendet? • Die POST-Methode bzw. GET-Methode Vielen Dank für eure Aufmerksamkeit! Es danken euch: Simon Rath und Jonas Reckziegel • Berners-Lee, T. (2022, Jänner 21). RFC 3986: Uniform Resource Identifier (URI): Generic Syntax. RFC. Abgerufen am 8. März 2022, von https://www.rfc-editor.org/rfc/rfc3986.html • Fielding, R. (1999, 21. Juni). RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1. RFC. Abgerufen am 8. März 2022, von https://www.rfc-editor.org/rfc/rfc2616.html • HTTP Messages - HTTP | MDN. (2022, 18. Februar). MDN Web Docs. Abgerufen am 9. März 2022, von https://developer.mozilla.org/enUS/docs/Web/HTTP/Messages • HTTP request methods - HTTP | MDN. (o. D.). MDN Web Docs. Abgerufen am 9. März 2022, von https://developer.mozilla.org/enUS/docs/Web/HTTP/Methods • Rescorla, E. (2022, 21. Mai). RFC 2818: HTTP Over TLS. RFC. Abgerufen am 9. März 2022, von https://www.rfc-editor.org/rfc/rfc2818.html Literaturverzeichnis