Skip to main content

Server Push pada HTTP/2 di NGINX

Kali ini saya akan membahas salah satu fitur yang ada pada HTTP/2 yaitu server push. berdasarkan RFC 7540 Server Push merupakan fitur yang digunakan oleh server untuk mengirimkan statik konten yang diperlukan untuk membuat tampilan web sebelum client browser me-request konten tersebut. Fungsinya untuk mengurangi waktu tunggu saat melakukan request sebuah file. dapat dilihat pada gambar dibawah ini.

Gambar 1. komparasi server push dengan yang tidak menggunakan server push

pada gambar diatas menjelaskan jika menggunakan get biasa, pertama kali file html akan di-load lalu menyusul me-request file-file yang lain karena terdapat link yang ada di dalam file html tersebut. namun untuk server push, kita akan mendefinisikan file-file apa saja yang akan di-load jika kita me-request salah satu file html, saat server mengirimkan file html server juga akan mengirimkan file konten yang telah difenisikan tersebut.

saya akan beri contoh untuk penerapannya di NGINX 1.13.x

pada config diatas terdapat definisi untuk server push,  jika file index-push.html diakses maka server akan segera mengirimkan file calendar.css, demo.css, data.js, dan jquery.min.js. kita lihat menggunakan inspect element pada browser chrome.

Gambar 2. index.html(tidak menggunakan server push)

 

Gambar 3. index-push.html (menggunakan server push)