NGINX 1.13.9 führt HTTP/2 Server-Push ein
Auch ein Minor-Release kann Neuerungen bringen: Der Webserver NGINX bietet mit der neuen Version erstmals die Möglichkeit für HTTP/2 Server-Push an.
- Björn Bohn
Version 1.13.9 des Webservers NGINX führt den HTTP/2 Server-Push in die Plattform ein. Damit können Webserver vorausschauend Ressourcen an einen Client pushen, wenn zu erwarten ist, dass dieser die Ressourcen bald anfordern wird. Dadurch soll sich die Anzahl Round Trip Time (RTT, also die Zeit für eine Anforderung und eine Antwort) reduzieren, was wiederum zu zu einer schnelleren Darstellung für den Nutzer führt.
Mit einem Server-Push kann NGINX typischerweise von einer HTML-Seite verwendete Style Sheets oder Bilder an einen Client pushen. Die NGINX-Entwickler weisen jedoch darauf hin, dass Seitenbetreiber wirklich nur Ressourcen pushen sollten, die sich nicht bereits im Cache des Nutzers befinden. Um einen Push auszuführen, müssen Entwickler folgenden Code verwenden:
server {
# Ensure that HTTP/2 is enabled for the server
listen 443 ssl http2;
ssl_certificate ssl/certificate.pem;
ssl_certificate_key ssl/key.pem;
root /var/www/html;
# whenever a client requests demo.html, also push
# /style.css, /image1.jpg and /image2.jpg
location = /demo.html {
http2_push /style.css;
http2_push /image1.jpg;
http2_push /image2.jpg;
}
}
Ob die Übergabe funktioniert, kann mit den Developer Tools im Browser oder einem HTTP/2-Client für die Kommandozeile überprüft werden. Weitere Details zur Verwendung von Server-Push finden sich in der offiziellen Ankündigung von NGINX. NGINX-Plus-Nutzer müssen sich hingegen noch bis zur Veröffentlichung von Version R15 im April gedulden. (bbo)