Nginxは2018年2月20日(現地時間)、「Introducing HTTP/2 Server Push with NGINX 1.13.9|NGINX」において、新たに公開した「Nginx 1.13.9」において「HTTP/2 Server Push」機能を実装したと伝えた。この機能を利用することで、ページロード時間を短縮することが可能になるとされている。
通常、コンテンツはクライアントがサーバ側に取得要求を出すことでダウンロードしている。これを高速化する仕組みにプリロードヒントがあるが、あくまでも取得のヒント情報を送るだけで、取得はクライアントから要求が送られてから行われている。
「HTTP/2 Server Push」はサーバ側からのコンテンツプッシュを可能にするもので、クライアントからの要求がない状態でコンテンツを配信することを実現する。例えば、クライアントがサーバに対して/index.htmlの取得を要求してきたら、/index.htmlをクライアントに送信した後で、さらに/index.htmlに含まれている他のコンテンツ(CSSや画像など)もサーバ側からクライアント側へ先に送るという動きをする。
Webブラウザはさまざまな技術を通じてページ読み込みの高速化に取り組んでいる。「HTTP/2 Server Push」はサーバ側にも対応が必要になる機能だが、これまでよりもさらにページロード時間を短縮する技術として利用できる。この機能はnghttpなどのコマンドで動作確認できるほか、ブラウザの開発ツールを使って動作チェックができる。