HTTP ist das Anwendungsprotokoll für den Datenaustausch im Web; HTTPS ergänzt es um eine TLS-Verschlüsselung für sichere Übertragung; HTTP/2 ist die modernisierte Protokollversion mit schnellerem Multiplexing und Header-Komprimierung.
Was bedeutet das?
HTTP steht für HyperText Transfer Protocol. Es beschreibt, wie ein Browser (Client) eine Ressource beim Webserver anfragt und wie der Server antwortet. Eine HTTP-Anfrage enthält die Methode (zum Beispiel GET, POST oder PUT), den Ressourcenpfad, die Protokollversion und optionale Header mit Metadaten. Der Server antwortet mit einem Statuscode, Headern und dem angeforderten Inhalt. HTTP arbeitet auf der Anwendungsschicht des TCP/IP-Modells und setzt auf eine TCP-Verbindung auf.
HTTPS (HyperText Transfer Protocol Secure) ist kein eigenständiges Protokoll, sondern HTTP über eine TLS-verschlüsselte Verbindung (Transport Layer Security, früher SSL). Die gesamte Kommunikation zwischen Browser und Server wird dabei verschlüsselt, sodass Dritte im Netzwerk die übertragenen Daten nicht mitlesen können. Erkennbar ist HTTPS am Schlossymbol im Browser und an der URL, die mit https:// beginnt. Der Standardport für HTTP ist 80, für HTTPS 443. Moderne Browser markieren reine HTTP-Seiten inzwischen als „Nicht sicher“, was das Vertrauen der Besucher erheblich beeinträchtigt.
HTTP/2 ist die zweite Hauptversion des HTTP-Protokolls, standardisiert 2015 im RFC 7540. Die wichtigste Neuerung ist Multiplexing: Mehrere Anfragen laufen gleichzeitig über eine einzige TCP-Verbindung, ohne sich gegenseitig zu blockieren. HTTP/1.1 konnte zwar Verbindungen offenhalten, musste aber Antworten strikt sequenziell liefern. HTTP/2 verwendet außerdem binäres Framing statt lesbarem Klartext, komprimiert Header mit dem HPACK-Algorithmus und unterstützt Server Push, mit dem der Server Ressourcen aktiv an den Browser senden kann, bevor dieser sie explizit anfordert. HTTP/3 (QUIC) ist die nachfolgende Version und setzt auf UDP statt TCP, ist aber noch nicht überall verbreitet.
Für WordPress-Betreiber sind diese Protokolle auf mehreren Ebenen relevant. WordPress selbst verwendet intern die Funktion wp_remote_get() und ähnliche WP HTTP API-Funktionen, um externe Ressourcen (Update-Server, API-Dienste) abzurufen. Das Theme und eingebundene Skripte bestimmen maßgeblich, wie viele HTTP-Anfragen beim Seitenaufruf entstehen. Je mehr Anfragen, desto größer der Vorteil von HTTP/2, das viele parallele Anfragen effizient bündelt.
Der HTTP-Header Strict-Transport-Security (HSTS) ist ein weiterer wichtiger Mechanismus: Er weist den Browser an, die Domain für einen definierten Zeitraum ausschließlich über HTTPS aufzurufen, auch wenn ein Nutzer versehentlich http:// eintippt. Der Browser führt die Umleitung dann intern durch, ohne einen Roundtrip zum Server. Der Wert max-age=31536000; includeSubDomains setzt diesen Schutz für ein Jahr, einschließlich aller Subdomains.
Beispiel aus der Praxis
Sie migrieren eine WordPress-Site von HTTP auf HTTPS. Zunächst installieren Sie ein SSL-Zertifikat auf dem Server und richten eine 301-Weiterleitung von HTTP auf HTTPS in der .htaccess-Datei ein. Anschließend passen Sie die WordPress-Adresse und die Website-Adresse unter „Einstellungen“ und dann „Allgemein“ auf die HTTPS-Version an. Danach führen Sie eine Suche in der Datenbank durch, um alle hardcodierten HTTP-Links in Beiträgen und Seiten auf HTTPS umzuschreiben. Zum Abschluss setzen Sie den HSTS-Header, damit der Browser für alle zukünftigen Besuche direkt die verschlüsselte Version aufruft.
Häufiger Fehler
Ein häufiges Problem nach der HTTPS-Migration sind sogenannte Mixed-Content-Warnungen. Sie entstehen, wenn eine Seite über HTTPS ausgeliefert wird, aber einzelne Ressourcen wie Bilder, Stylesheets oder Skripte noch über HTTP eingebunden sind. Der Browser blockiert in diesem Fall aktiven Mixed Content (Skripte) und zeigt bei passivem Mixed Content (Bilder) eine Warnung. Prüfen Sie nach der Migration alle Ressourcen mit den Browser-Entwicklertools auf gemischten Inhalt und aktualisieren Sie die entsprechenden URLs.