HTTPS – Hypertext Transfer Protocol Secure

Abkürzung: HTTPS

Der Unterschied zu HTTP liegt ausschließlich in der Transportschicht. Anfragen, Antworten, Methoden, Statuscodes und Header sind identisch — sie fließen nur durch einen verschlüsselten Kanal.

Wie HTTPS zustande kommt

Der Ablauf hat drei Stufen. Erst baut der Client eine TCP-Verbindung zum Server auf, üblicherweise auf Port 443. Dann folgt der TLS-Handshake, in dem der Server sein Zertifikat vorlegt und beide Seiten die Sitzungsschlüssel aushandeln. Erst danach geht die erste HTTP-Anfrage über die Leitung.

Bei HTTP/3 entfällt die TCP-Stufe: Dort läuft HTTP über QUIC, das TLS 1.3 bereits eingebaut hat und auf UDP aufsetzt. Unverschlüsseltes HTTP/3 gibt es nicht.

Normlage

Die Festlegung stand lange in RFC 2818 „HTTP Over TLS" von 2000 — einem Dokument mit dem Status Informational, also nicht einmal einem Standard. Seit RFC 9110 von 2022 ist es obsolet: Das https-Schema wird nun gemeinsam mit der übrigen HTTP-Semantik definiert. Wer heute auf RFC 2818 verweist, zitiert ein zurückgezogenes Dokument.

Was HTTPS schützt — und was nicht

Geschützt sind der angefragte Pfad, die Parameter in der URL, Header, Cookies, hochgeladene Formulardaten und der Inhalt der Antwort.

Nicht geschützt sind:

Die Zieladresse. Die IP-Adresse des Servers steht im Klartext im IP-Paket.

Der Hostname. Er steht in der Server Name Indication im ClientHello, also vor der Verschlüsselung. Wer mitschneidet, sieht, welche Seite aufgerufen wurde — nicht aber, welche Unterseite.

Die DNS-Auflösung. Sie läuft vor dem Verbindungsaufbau und ist ohne zusätzliche Verfahren unverschlüsselt, siehe Domain Name System.

Der Umfang. Paketgrößen und Zeitpunkte bleiben sichtbar und lassen oft Rückschlüsse zu.

Und, wichtiger als alles andere: Das Schloss im Browser sagt aus, dass die Verbindung gesichert und der Name belegt ist. Es sagt nichts darüber, ob der Betreiber redlich ist. Betrugsseiten verwenden regelmäßig einwandfreie Zertifikate.

Der erste Aufruf

Ruft ein Nutzer eine Seite ohne Schema auf, landet die erste Anfrage bei HTTP und wird erst dann weitergeleitet. Dieser Umlauf ist angreifbar: Wer dazwischen sitzt, kann die Weiterleitung abfangen und die Verbindung auf HTTP halten.

Geschlossen wird die Lücke mit HSTS — einem Header, nach dem der Browser künftige Aufrufe selbst auf HTTPS umstellt, bevor eine Verbindung zustande kommt.

Gemischte Inhalte

Lädt eine per HTTPS ausgelieferte Seite Teilressourcen über HTTP, ist der Schutz dahin: Ein eingebundenes Skript aus unsicherer Quelle kann die ganze Seite verändern. Browser blockieren solche aktiven Inhalte daher und zeigen das Schloss nicht mehr an.

Die Fehlersuche ist deshalb oft eine Suche nach einem einzelnen hartverdrahteten http://-Verweis in einem Template oder einer eingebundenen Bibliothek.

Die Portfrage

HTTPS liegt üblicherweise auf Port 443, HTTP auf 80. Das ist Konvention, keine Festlegung des Protokolls — ein Server kann HTTPS auf jedem Port anbieten, der Client muss den Port dann in der URL mitgeben.

Erstellt: · Überarbeitet: