Skip to Content

HTTP / HTTPS

HTTP (Hypertext Transfer Protocol)

ist ein Protokoll, mit dem Daten zwischen einem Client und einem Server über das Internet übertragen werden. Es müssen Zustände mit übertragen werden (z.B. Cookies). Über HTTP lassen sich Requests und Responses senden.

Request / Response

Ein Request besteht aus einem Method, einem URI und einem Protokoll.

GET /index.html HTTP/1.1 Host: www.google.com

Eine Response besteht aus einem Status Code, einem Protokoll und einem Body.

HTTP/1.1 200 OK Content-Type: text/html Content-Length: 1234 Content-Language: de

HTTP-Methoden

MethodBeschreibung
GETFordert eine URI an
POSTSendet Daten
PUTAktualisiert eine Ressource
DELETELöscht eine Ressource
PATCHAktualisiert eine Teilressource
HEADFragt die Header einer Ressource ab
CONNECTÖffnet eine Tunnel

HTTPS (Hypertext Transfer Protocol Secure)

Während HTTP ein unverschlüsseltes Protokoll ist, ist HTTPS ein verschlüsseltes Protokoll. Bei HTTP wird eine Anfrage vom Client an den Server gesendet und der Server antwortet mit den angeforderten Elementen. Hierbei findet keine Verschlüsselung statt und die Daten werden in Klartext übertragen. Außerdem findet keine Authentifizierung statt, ob der Client mit dem richtigen Server kommuniziert. Und die Daten können während der Übertragung abgefangen und manipuliert werden.

HTTPS löst diese Probleme durch Verschlüsselung und Authentifizierung. Es wird zuerst eine Verbindung zwischen Client und Server hergestellt mit einem TLS-Handshake. Daten werden on-the-fly verschlüsselt und der Server wird authentifiziert. Nur der Client, der die Daten angefordert hat, kann die Daten entschlüsseln.

URI (Uniform Resource Identifier)

Eine URI ist eine Zeichenfolge, die ein Objekt oder ein Dienst identifiziert.

https://www.google.com/search?q=URI#section-1
  • https: Protokoll (z.B. HTTP, HTTPS, ftp)
  • www.google.com: Host
  • search: Pfad
  • q=URI: Query
  • #section-1: Fragment

Status Codes

CodeBeschreibung
200OK
404Not Found
500Internal Server Error

Unterschiede

HTTP ist ein unverschlüsseltes Protokoll und HTTPS ist ein verschlüsseltes Protokoll.

Die beiden Protokolle laufen auf unterschiedlichen Ports.

  • HTTP: 80
  • HTTPS: 443
Last updated on