Apa perbedaan HTTP/1.1 dan HTTP/2?
HTTP /2 adalah protokol yang lebih modern yang bisa meningkatkan kecepatan browsing web dengan menggunakan cara-cara baru transportasi data antara browser dan server di internet.
HTTP/2 kompatibel dengan HTTP1.1 dan menggunakan sebagian besar teknologi yang sama, tetapi lebih efisien dan memungkinkan server untuk merespon dengan lebih banyak konten daripada yang diminta, menghilangkan kebutuhan komputer pengguna terus mengirim permintaan informasi lebih lanjut sampai situs benar-benar ditampilkan.
HTTP/1.1 menggunakan hanya 1 koneksi untuk tiap object di webserver yang mau ditampilkan di browser. Sehingga ketika satu halaman web berisi 100 object (html, images, css, javascript), dibutuhkan 2 x 100 kali koneksi utk request data dan menunggu response dari webserver. Kalau webserver terlambat memproses salah satu request maka semua request berikutnya akan tertunda dan terjadi bottleneck.
Apa saja manfaat HTTP/2?
- Mempercepat loading website secara signifikan dengan teknologi multiplexing, concurrency, kompresi header, dan server push (server bisa mem-push content untuk di-loading di background, seperti AJAX).
- Menghemat penggunaan resources di server dan client.
- Koneksi HTTPS berjalan lebih cepat dan lebih aman berkat teknologi kompresi dan enkripsi yang lebih efisien.
- Memberikan kontrol lebih besar kepada developer aplikasi untuk mengatur prioritas urutan object yang mau di-load lebih dulu.
- Lebih canggih dan cepat dibanding protokol SPDY sebelumnya. Google akan menghapus SPDY support dari browser Chrome mulai awal tahun 2016.
- Load website lebih cepat dengan teknologi kompresi terbaru di HTTP/2
- Lebih ramah SEO, GoogleBot support HTTP/2 sehingga website dengan HTTP/2 lebih diutamakan oleh Google.
- Fitur server push
- HTTP/2 memiliki metode enkripsi yang sama seperti versi sebelumnya yaitu HTTP/1 sehingga tidak akan berdampak apapun terhadap akses aman HTTPS. Perbedaannya, pada HTTP/2 enkripsi keamanan telah diperbarui sehingga akses HTTPS menjadi lebih cepat.
Cara konfigurasi HTTP2 di Apache – Ubuntu Server
- Install terlebih dahulu apache2 dan PhpFPM di server dengan mengikuti tutorial pada link ini: https://blog.alvianaufan.my.id/cara-menjalankan-multi-php-version-di-ubuntu-server-20-04/
- Cek terlebih dahulu default version yang anda gunakan saat ini :
php -v
- Misalnya yang sudah Anda install php8.1-FPM di server, maka perlu di disable module php nya terlebih dahulu :
sudo a2dismod php8.1
- Lalu enable apache conf untuk php8.1-FPM nya :
sudo a2enconf php8.1-fpm
- Pastikan module proxy_fcgi sudah di enable :
sudo a2enmod proxy_fcgi
- Disable mpm_prefork karena tidak didukung HTTP2 :
sudo a2dismod mpm_prefork
- Enable mpm_event :
sudo a2enmod mpm_event
- Enable module ssl :
sudo a2enmod ssl
- Enable module HTTP2 :
sudo a2enmod http2
- Restart apache2 nya :
sudo systemctl restart apache2
- Pastikan apache2 nya sudah jalan:
systemctl status apache2
- Biasanya setelah enable module HTTP2, secara otomatis apache akan membuat file .conf yang berisi konfigurasi Protocols h2 atau http2. Untuk mengecek letak file tersebut bisa dengan cara jalankan command
cd /etc/apache2
lalu cari berdasarkan kata kunci Protocol dengan commandgrep -r Protocols .
Sampai sini Anda sudah berhasil mengaktifkan HTTP2 di server. Untuk mengecek apakah website anda sudah berjalan atau belum bisa dengan cara:
- Buka browser,
- klik kanan lalu pilih inspect element
- klik pada tab Network > lalu akses ke url alamat ip server atau alamat website anda
- klik kanan pada tab Name dan enable untuk view Protocol, seperti gambar dibawah ini:
- Lalu column Protocol akan langsung muncul dan seperti kita lihat Protocols sudah berjalan di h2 atau HTTP2:
Demikian cara konfigurasi HTTP2 di apache ubuntu server, silahkan jika ada yang ingin bertanya atau memiliki kendala bisa tulis di kolom komentar ya 🙂