Inhaltsverzeichnis
Apache HTTP ArchLinux - mod_http2 - HTTP/2 Protokoll
Das Apache HTTPD Server-Modul mod_http2
implementiert die Weiterentwicklung des weltweit erfolgreichsten Protokolls der Anwendungsschicht, HTTP. Es konzentriert sich auf eine effizientere Nutzung der Netzwerkressourcen. An den Grundlagen von HTTP, der Semantik, ändert sich nichts. Es gibt immer noch Anfragen und Antworten, Kopfzeilen und die weiteren Grundlagen des HTTP-Protokolls.
Die Weiterentwicklung zum HTTP/2 Protokoll ist im RFC 7540 hinterlegt.
Beschreibung | Externer Link |
---|---|
Homepage | https://httpd.apache.org/ |
Dokumentation | https://httpd.apache.org/docs/ |
mod_http2 | https://httpd.apache.org/docs/2.4/howto/http2.html |
ArchWiki | https://wiki.archlinux.org/title/Apache_HTTP_Server |
* Quellen: Buch: Sascha Kersken - Apache 2.4 Das umfassende Handbuch
WICHTIG - Nachfolgende Konfigurationen setzen die Einrichtung eines Apache HTTP Servers, wie unter nachfolgendem internen Link beschrieben, voraus:
HINWEIS - Eine explizite Installation des Moduls mod_http2
ist nicht erforderlich, da das Modul im Pakete apache
bereits enthalten ist!
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
http2-Konfiguration
http2-Konfiguration: /etc/httpd/conf/httpd.conf - Konfiguration
Bevor ein erneuter Neustart des Apache HTTP Server erfolgreich durchgeführt werden kann, ist es erforderlich für die nachfolgende Installation die Konfigurationsdatei /etc/httpd/conf/httpd.conf
zu verändern.
Nachfolgende die Veränderung, welche vorgenommen werden muss:
(Nur relevanter Ausschnitt):
# Tachtler # default: #LoadModule http2_module modules/mod_http2.so LoadModule http2_module modules/mod_http2.so
Erklärungen:
LoadModule http2_module modules/mod_http2.so
Die Einbindung des Moduls mod_http2 ist erforderlich, um den Einsatz des HTTP/2 Protokolls bei der Übermittlung an und vom Client/Browser durchführen zu können.
Anschliessend sind nachfolgende Ergänzungen, hier an der Konfigurationsdatei
/etc/httpd/conf/httpd.conf
z.B. am Ende der Konfigurationsdatei durchzuführen:
(Nur relevanter Ausschnitt):
<IfModule http2_module> Protocols h2 h2c http/1.1 ProtocolsHonorOrder Off </IfModule>
Erklärungen:
Aktivieren der Protokolle - HTTP/2 - HTTP/2 „Secure“ TLS und HTTP/1.1 - im Container dem diese Anweisung enthalten ist. Es können die Anweisungen innerhalb von <Directory />
oder <Location />
definiert werden, welchen den umschliessenden Container darstellen, oder auch ausserhalb eines Containers konfiguriert werden.
Die nachfolgende Anweisung definiert die zu verwendende Reihenfolge der Protokolle.
Protocols h2 h2c http/1.1
- h2 ist HTTP/2 über TLS (Protokollaushandlung über ALPN).
- h2c ist HTTP/2 über TCP.
- HTTP 1.1, das aus reinem Text bestehende HTTP Protokoll.
Die nachfolgende Anweisung gibt an, dass die Reihenfolge, in der der Server die Protokolle bevorzugt, irrelevant ist und nur die Reihenfolge des Clients entscheidet, welches Protokoll Anwendung findet.
ProtocolsHonorOrder Off
Neustart
Nach den vorangegangenen Konfigurationsschritten, sollte einem Neustart nichts im Wege stehen:
# systemctl restart httpd.service
HINWEIS - Es erfolgen keine weiteren Ausgaben, wenn der Start erfolgreich war !
Test
Um zu sehen, ob die Seiten auch entsprechend komprimiert, für Clients/Browser die mit dem HTTP/2 Protokoll umgehen können, ausgeliefert werden, kann nachfolgendes Programm genutzt werden:
curl
Nachfolgender Aufruf der Webseite https://www.apache.tachtler.net/server-status HTTP/1.1 Protokoll:
# curl -o /dev/null https://www.apache.tachtler.net/server-status
Ergebnis:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1568 0 1568 0 0 28394 0 --:--:-- --:--:-- --:--:-- 29037
Nachfolgender Aufruf der Webseite https://www.apache.tachtler.net/server-status HTTP/2 Protokoll:
# curl -o /dev/null --http2 https://www.apache.tachtler.net/server-status
Ergebnis:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1568 0 1568 0 0 34394 0 --:--:-- --:--:-- --:--:-- 34844
HINWEIS - Der Geschwindigkeitsvorteil beträgt 20%!!!