Melihat Lebih Dekat HTTP/2: Cara Kerjanya dan Apa Artinya untuk Web
Diterbitkan: 2023-02-09Pada 2015, versi baru protokol jaringan HTTP — HTTP/2 telah disetujui. Sekarang, ini menjadi semakin populer: protokolnya sudah mendukung server web Apache dan Nginx, browser Chrome, Firefox, Opera, Edge, dan Safari, serta perangkat seluler.
Jumlah layanan dan situs HTTP/2 terus bertambah. Dalam waktu dekat, Internet sedang menunggu transisi ke protokol baru, yang mempercepat pengunduhan situs web.
Mari cari tahu bagaimana hal ini akan memengaruhi pembangunan situs, SEO, dan aspek lainnya.
Apa itu HTTP/2?
Protokol HTTP/1.1 telah digunakan sejak tahun 1999 dan dari waktu ke waktu telah memperoleh satu masalah yang signifikan. Situs modern, berbeda dengan yang populer di tahun 1999, menggunakan banyak elemen berbeda: skrip JavaScript, gaya CSS, dan terkadang juga animasi flash. Saat Anda mentransfer semuanya, browser dan server membuat beberapa koneksi.
Protokol HTTP/2 secara signifikan mempercepat kecepatan situs web karena fitur-fitur berikut:
- Koneksi: beberapa permintaan dapat dikirim melalui satu koneksi TCP, dan respons dapat diterima dalam urutan apa pun. Tidak perlu menyimpan banyak koneksi TCP.
- Prioritas utas: klien dapat mengatur prioritas server — jenis sumber daya apa yang lebih penting baginya daripada yang lain.
- Kompresi header: ukuran header HTTP dapat dikurangi.
- Pengiriman push data dari sisi server: server dapat mengirim ke klien data yang belum diminta, misalnya, berdasarkan data tentang halaman berikutnya yang akan dibuka pengguna.
Pengembangan protokol HTTP 2 didasarkan pada protokol SPDY yang dikembangkan oleh Google. Tetapi Google telah mengumumkan akan menolak dukungan SPDY lebih lanjut ke HTTP/2 yang lebih menjanjikan.
Baca: Mengapa situs WordPress Anda lambat dan bagaimana cara mempercepatnya?
Fitur utama HTTP/2
- Multiplexing
- Dorong Server
- Kompresi Tajuk
- Prioritas Aliran
- Alur kontrol
Perbedaan antara HTTP dan HTTP 2
Perubahan yang telah dilakukan pada protokol pertama tidak memerlukan banyak perubahan dalam cara kerja aplikasi. Meskipun, ada keuntungan untuk aplikasi baru yang akan bekerja dengan kecepatan yang ditingkatkan. Perbedaan utama antara kedua protokol telah dibandingkan di bawah ini:
Fitur | HTTP | HTTP2 |
---|---|---|
Sintaksis | Sintaks tingkat tinggi adalah sama | Sintaks tingkat tinggi adalah sama |
Pembingkaian Data | Pembingkaian data yang dimodifikasi | Pembingkaian data yang disempurnakan |
Kueri | Permintaan terbatas | Lebih banyak pertanyaan |
Daya Tanggap Server | Daya tanggap terbatas | Responsif yang ditingkatkan |
Situs Web yang Efisien | Permintaan diminimalkan | Peningkatan efisiensi |
Pemblokiran Head-of-line | Hadir dalam HTTP | Mengatasi di HTTP2 |
Multiplexing | Tidak hadir | Hadiah |
Kompresi Tajuk | Tidak hadir | Hadiah |
Permintaan Prioritas | Tidak hadir | Hadiah |
Di bawah ini adalah representasi visual yang bagus dari perbedaan mendasar antara HTTP/1 dan HTTP/2 (milik: http://ruzhekov.com )
Pro dan Kontra HTTP/2
Pro
- Peningkatan kecepatan memuat halaman
- Penggunaan sumber daya jaringan yang lebih baik
- Peningkatan pengalaman pengguna
- Kompatibilitas yang lebih baik dengan teknologi web modern
Kontra
- Protokol dikatakan tidak konsisten dan kompleks
- Melanggar prinsip layering protokol
- Dilengkapi dengan biaya enkripsi yang berat
- Tidak kompatibel dengan perangkat tertentu seperti router
- Tidak memiliki enkripsi oportunistik
Mengapa dunia membutuhkan HTTP/2?
- HTTP pertama kali dijelaskan pada tahun 1991 dan versi terbarunya, HTTP/1.1, telah disetujui pada tahun 1999 dan masih digunakan sampai sekarang.
- Ukuran situs web telah tumbuh secara signifikan selama bertahun-tahun, menyebabkan waktu pemuatan yang lambat dan keterbatasan jumlah koneksi simultan menggunakan HTTP/1.1.
- Solusi sementara seperti pengoptimalan pemuatan situs web telah diterapkan, tetapi hanya menawarkan solusi jangka pendek.
- Insinyur Google mulai bekerja untuk meningkatkan protokol pada tahun 2009, yang mengarah ke pembuatan protokol SPDY, yang lebih cepat dan didukung oleh sebagian besar browser tetapi memerlukan dukungan sisi server.
- HTTP/2 didasarkan pada SPDY dan kompatibel dengan HTTP/1.1. Tidak perlu segera memutakhirkan, tetapi pada akhirnya, situs mungkin memuat lebih lambat pada protokol yang lebih lama.
Apakah HTTP/2 benar-benar lebih cepat?
Pakar HttpWatch melakukan beberapa tes dan menemukan akselerasi serius dengan HTTP 2.
Tangkapan layar di bawah ini menunjukkan kecepatan unduh halaman menggunakan HTTP / 1.1:
Dan pada tangkapan layar ini — hasil penggunaan HTTP 2:
Kecepatan unduh meningkat sebesar 23%. Pakar HttpWatch juga mencatat bahwa teknologinya belum sepenuhnya dioptimalkan, dan mengharapkan akselerasi nyata hingga 30%.
Mengapa HTTP/2 bekerja lebih cepat?
- Beberapa permintaan yang dikirim dalam koneksi yang sama di HTTP/2 (multiplexing) menyebabkan pemuatan elemen statis lebih cepat
- Kompresi header HTTP di HTTP/2 mengurangi jumlah data antara server dan browser, membebaskan sumber daya
- Peningkatan keamanan dengan koneksi terenkripsi untuk dukungan HTTP/2 oleh browser penentu tren (Google Chrome, Mozilla Firefox)
- Perubahan urutan prioritas dalam HTTP/2 dengan prioritas menjadi metode yang diinginkan untuk fungsi multiplexing yang tepat
- Kurangnya konfigurasi prioritas dalam HTTP/2 dapat menyebabkan penurunan kecepatan karena sumber daya yang dapat dimuat nanti akan mengambil jalur terpisah dan sebagian daya.
Mengapa penting untuk mempercepat loading halaman website?
- Dukungan HTTP 2 bukanlah faktor peringkat langsung untuk Google
- Kecepatan unduh adalah faktor peringkat yang signifikan untuk Google
- HTTP/2 dapat berdampak positif pada kecepatan situs web dan secara positif memengaruhi peringkat karena faktor perilaku
- Halaman yang lebih cepat memiliki tingkat kegagalan yang lebih rendah dan dapat menghasilkan peningkatan keterlibatan pengguna
- Google Bot akan segera mendukung HTTP/2
- HTTP 2 dapat menjadi faktor peringkat di masa mendatang karena mesin pencari mengubah algoritme.
Manfaat untuk pengembang web
HTTP 2 memungkinkan Anda menyingkirkan trik lama, yang dirancang untuk mempercepat pemuatan halaman tanpa HTTP/2. Kami mencantumkan:
- Pecahan domain atau menggunakan beberapa domain terkait untuk mengunduh file guna mengaktifkan lebih banyak koneksi TCP.
- Sprite gambar — menggabungkan gambar dalam satu file untuk mengurangi jumlah permintaan. Namun, file seperti itu pertama-tama harus dimuat sepenuhnya untuk ditampilkan. Selain itu, memproses file besar menghabiskan lebih banyak memori.
- Gabungkan file CSS dan JavaScript, yang juga dilakukan untuk mengurangi jumlah permintaan, dan juga meningkatkan penggunaan memori.
- Penyertaan sebaris atau menempatkan CSS dan JavaScript, dan terkadang bahkan gambar di dalam file HTML, untuk mengurangi jumlah koneksi. Pada saat yang sama, halaman tidak ditampilkan hingga seluruh file dimuat.
- Domain tanpa file cookie: Unduh gambar, CSS, dan JavaScript dari domain lain yang tidak menggunakan cookie.
Bagaimana cara menerapkan HTTP 2?
Untuk mengimplementasikan HTTP 2, Anda harus mengikuti langkah-langkah berikut:
- Periksa Dukungan Server: Pastikan perangkat lunak server Anda mendukung HTTP 2. Perangkat lunak server populer seperti Apache, Nginx, dan IIS memiliki dukungan bawaan untuk HTTP 2.
- Aktifkan HTTP 2: Setelah Anda mengonfirmasi bahwa server Anda mendukung HTTP 2, Anda harus mengaktifkannya. Metode untuk mengaktifkan HTTP 2 bervariasi tergantung perangkat lunak server yang Anda gunakan.
- Gunakan HTTPS: HTTP 2 memerlukan koneksi aman menggunakan HTTPS, jadi Anda harus menginstal sertifikat SSL di server Anda.
- Perbarui Kode Anda: Jika Anda menggunakan perpustakaan atau kerangka kerja yang menangani koneksi HTTP, pastikan itu mendukung HTTP 2. Beberapa perpustakaan mungkin memerlukan pembaruan untuk bekerja dengan HTTP 2.
- Uji Situs Anda: Setelah melakukan perubahan yang diperlukan, uji situs Anda untuk memastikannya berfungsi dengan HTTP 2. Periksa konsol browser untuk setiap kesalahan atau peringatan.
- Pantau Kinerja: Secara teratur pantau kinerja situs Anda untuk memastikannya berjalan lancar dengan HTTP 2.
- Pertimbangkan Pengoptimalan Kinerja: Menerapkan HTTP 2 akan meningkatkan kinerja situs Anda, tetapi mungkin masih ada peluang untuk pengoptimalan lebih lanjut. Misalnya, menggabungkan gambar menjadi sprite, mengompresi gambar, dan mengurangi jumlah permintaan HTTP dapat lebih meningkatkan kinerja.
Kesimpulan
HTTP 2 kompatibel dengan HTTP 1.1 dan tidak memerlukan migrasi. Namun, karena server web dan browser mengadopsi HTTP 2, teknik pengoptimalan situs mungkin perlu diperbarui untuk menghindari memperlambat situs web.
Baca: Panduan Lengkap tentang Migrasi HTTP ke HTTPS di WordPress
Menggabungkan gambar ke dalam sprite meningkatkan kompresi dan mengurangi pengunduhan data sambil menghindari penggunaan Data URI untuk menyematkan gambar dapat meningkatkan caching. Pecahan domain tidak lagi diperlukan di HTTP 2, karena memungkinkan permintaan langsung untuk sumber daya dan dapat mengurangi kinerja dengan membuat koneksi tambahan.
Pertanyaan yang Sering Diajukan
Untuk apa HTTP2 digunakan?
HTTP2 adalah protokol yang digunakan untuk mentransfer data melalui internet, meningkatkan kecepatan dan keamanan pengiriman konten web seperti halaman, gambar, dan video dari server ke browser. Ini menawarkan pemuatan halaman yang lebih cepat dan peningkatan efisiensi dibandingkan dengan pendahulunya, HTTP 1.1, dengan memungkinkan beberapa permintaan dikirim dan diterima pada saat yang bersamaan.
Apa perbedaan antara HTTP dan HTTP2?
HTTP2 adalah versi terbaru dari HTTP yang lebih cepat dan lebih efisien daripada pendahulunya. Ini menggunakan satu koneksi untuk memuat banyak sumber daya, sedangkan dalam HTTP diperlukan beberapa koneksi. HTTP2 juga menyediakan kompresi dan prioritas data, yang menghasilkan waktu pemuatan halaman yang lebih cepat bagi pengguna.
Mengapa http2 tidak banyak digunakan?
HTTP2 tidak banyak digunakan karena masalah kompatibilitas dan implementasi. Beberapa perangkat dan perangkat lunak lama tidak mendukung HTTP2 dan memerlukan server khusus dan sertifikat SSL untuk penerapannya.