Menghapus Server Push HTTP/2 dari Chrome

Sebagai tindak lanjut dari pengumuman sebelumnya, dukungan untuk Server Push HTTP/2 akan dinonaktifkan secara default di Chrome 106 dan browser berbasis Chromium lainnya dalam rilis berikutnya.

Mengapa konten ini dihapus?

Push Server HTTP/2 memungkinkan situs secara proaktif mengirim resource yang dibutuhkan oleh halaman, tanpa perlu menunggunya diminta. Namun, hal ini bermasalah seperti yang ditulis Jake Archibald sebelumnya, dan manfaat performanya sering kali sulit diwujudkan. Akibatnya, fitur ini tidak banyak digunakan dengan hanya 1,25% situs HTTP/2 yang menggunakan fitur ini.

Analisis penggunaan HTTP/2 Server Push memiliki hasil yang beragam (Chrome, Akamai), tanpa peningkatan performa bersih yang jelas dan dalam banyak kasus regresi performa.

Push tidak diterapkan di banyak server dan klien HTTP/3—meskipun disertakan dalam spesifikasi. Untuk sebagian besar web yang menggunakan HTTP/3 yang lebih baru, Push telah dihentikan secara efektif. Saat menjalankan kembali analisis tersebut baru-baru ini, kami melihat bahwa dukungan HTTP/2 sebesar 1,25% oleh situs turun menjadi 0,7%.

Alternatif untuk HTTP/2 Server Push

103 Early Hints adalah alternatif yang jauh lebih rentan error dengan banyak kelebihan yang sama seperti Push, dan lebih sedikit kelemahannya. Alih-alih server mendorong resource, 103 Early Hints hanya mengirimkan petunjuk ke browser resource yang dapat langsung diminta. Hal ini membuat browser memegang kendali dalam memutuskan apakah browser memerlukannya atau tidak—misalnya jika browser sudah memiliki resource tersebut di cache HTTP.

Pramuat resource penting adalah alternatif lain yang memungkinkan halaman dan browser bekerja sama untuk memuat resource penting secara preventif di awal pemuatan halaman. Meskipun halaman itu sendiri harus dikirim terlebih dahulu—sehingga tidak secepat Server Push atau Petunjuk Awal—metode ini memiliki manfaat tambahan karena tidak menunda resource halaman penting tersebut, yang dapat terjadi dengan kedua solusi tersebut.

Kesimpulan

Web harus dapat mencoba berbagai hal, dan menghapusnya saat tidak digunakan. Meskipun potensi untuk Push terdengar bagus, pada kenyataannya, penggunaannya lebih menimbulkan masalah daripada yang dibayangkan. Namun, kami belajar banyak dari Push yang digunakan dalam desain 103 Early Hints. Sekarang saatnya menyelesaikan progresi dan beralih dari Push.

Resource