Sebagai tindak lanjut dari pengumuman sebelumnya, dukungan HTTP/2 Server Push akan dinonaktifkan secara default di Chrome 106 dan browser berbasis Chromium lainnya dalam rilis berikutnya.
Mengapa konten ini dihapus?
HTTP/2 Server Push memungkinkan situs mengirim resource yang diperlukan halaman secara proaktif, bukan menunggu permintaannya. 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 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 Push Server HTTP/2
103 Early Hints adalah alternatif yang jauh lebih jarang mengalami error dengan banyak kelebihan yang sama seperti Push, dan jauh lebih sedikit kekurangan. Alih-alih server mendorong resource, 103 Early Hints hanya mengirim petunjuk ke browser resource yang dapat langsung diminta. Hal ini membuat browser dapat mengontrol keputusan 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 jika tidak digunakan. Meskipun potensi Push terdengar bagus, pada kenyataannya penggunaannya lebih bermasalah daripada yang diperkirakan. Namun, kami belajar banyak dari Push yang digunakan dalam desain 103 Early Hints. Sekarang saatnya menyelesaikan progresi dan beralih dari Push.
Resource
- Semua penghentian dan penghapusan di Chromium
- Entri ChromeStatus: Menghapus push HTTP/2
- Intent untuk Dihapus: HTTP/2 dan server push gQUIC
- Masalah Chromium: Menonaktifkan HTTP/2 Push secara default