Protokol transfer hypertext telah berkembang secara dramatis sejak awal kemunculannya, dan HTTP/2 merupakan salah satu lompatan paling signifikan dalam cara kita mentransfer data di seluruh web di dunia. Jika Anda telah memperhatikan halaman web yang dimuat lebih cepat selama beberapa tahun terakhir, ada kemungkinan besar HTTP/2 bekerja di balik layar.
Panduan ini menguraikan segala sesuatu yang perlu Anda ketahui tentang HTTP/2-mulai dari mekanisme inti dan manfaat kinerja hingga langkah-langkah penerapan praktis. Baik Anda seorang pengembang yang ingin mengoptimalkan server web Anda atau sekadar ingin tahu tentang apa yang membuat situs web modern berjalan, Anda akan menemukan wawasan yang dapat ditindaklanjuti di sini.
Jawaban Cepat: Apa Itu HTTP/2 dan Mengapa Itu Penting
HTTP/2 adalah revisi besar dari protokol transfer hypertext versi 1.1, yang distandardisasi oleh Internet Engineering Task Force dalam RFC 7540 (Mei 2015). Revisi ini berfokus pada pengurangan latensi, peningkatan pemanfaatan sumber daya jaringan, dan membuat halaman web dimuat secara signifikan lebih cepat-semuasambil mempertahankan kompatibilitas penuh dengan semantik HTTP yang sudah ada.
Di tahun 2026, adopsi HTTP/2 hampir ada di mana-mana. Menurut data W3Techs, lebih dari 1/3 situs web teratas secara aktif menggunakan HTTP/2, dan sebagian besar CDN utama (Cloudflare, AWS CloudFront, Fastly) mengaktifkannya secara default untuk lalu lintas HTTPS. Jika situs Anda berjalan pada HTTPS dengan server web modern, kemungkinan besar Anda sudah mendapatkan manfaat dari HTTP/2 tanpa konfigurasi tambahan apa pun.
Protokol ini memperkenalkan beberapa fitur utama yang mengatasi hambatan kinerja HTTP 1.1:
- Multipleks: Beberapa aliran data berjalan melalui satu koneksi TCP secara bersamaan
- Kompresi header (HPACK): Memperkenalkan kompresi bidang header yang secara dramatis mengurangi metadata header HTTP yang berlebihan
- Lapisan pembingkaian biner: Lapisan bingkai yang sepenuhnya umum yang menggantikan perintah berbasis teks dengan pembingkaian pesan biner yang efisien
- Dorongan server: Pengiriman sumber daya secara proaktif sebelum browser memintanya secara eksplisit
- Prioritas aliran: Petunjuk klien yang memberi tahu server sumber daya mana yang paling penting
Inilah artinya dalam praktiknya:
- Pemuatan halaman lebih cepat, terutama pada situs yang memiliki sumber daya besar
- Lebih sedikit koneksi TCP yang diperlukan per asal
- Performa yang lebih baik pada jaringan seluler dengan latensi tinggi
- Pemanfaatan jaringan yang lebih baik secara keseluruhan
Dari HTTP/0.9 ke HTTP/2: Sejarah Singkat
Protokol HTTP telah berkembang pesat sejak Tim Berners-Lee memperkenalkan HTTP/0.9 pada tahun 1991 sebagai mekanisme sederhana untuk mengambil dokumen HTML. HTTP/1.0 menyusul di tahun 1996, menambahkan header dan kode status, dan HTTP/1.1 distandardisasi dalam RFC 2068 (1997) dan kemudian disempurnakan dalam RFC 2616 (1999). Selama hampir dua dekade, HTTP/1.1 menjadi tulang punggung komunikasi klien-server di web.
Namun web berubah secara dramatis. Halaman web modern berubah dari dokumen sederhana menjadi aplikasi kompleks yang memuat lusinan paket JavaScript, file CSS, gambar, dan panggilan API. Bahkan dengan koneksi broadband dan perangkat keras yang kuat, arsitektur HTTP/1.1 masih menimbulkan kemacetan:
- Kepala pemblokiran jalur: Setiap koneksi TCP hanya dapat menangani satu permintaan dalam satu waktu, menyebabkan lalu lintas jaringan yang tidak perlu karena sumber daya mengantri
- Biaya overhead koneksi: Peramban web desktop dan peramban web seluler biasanya membuka 6-8 koneksi TCP paralel per asal untuk mengatasi batasan ini
- Header yang berlebihan: Setiap permintaan HTTP mengirimkan header bertele-tele yang sama (cookie, agen-pengguna, header terima) berulang kali
Google menyadari masalah ini dan meluncurkan proyek SPDY pada tahun 2009. Pertama kali diimplementasikan di Chrome sekitar tahun 2010, SPDY memperkenalkan beberapa inovasi:
- Pembingkaian biner, bukan protokol berbasis teks
- Penggandaan beberapa permintaan melalui satu koneksi
- Kompresi header untuk mengurangi overhead
- Memprioritaskan aliran untuk sumber daya penting
Kelompok Kerja HTTP IETF melihat potensi SPDY dan mengadopsinya sebagai titik awal untuk HTTP/2 pada tahun 2012. Setelah kerja ekstensif oleh kelompok kerja http ietf, RFC 7540 (HTTP/2) dan RFC 7541 (HPACK) diterbitkan pada bulan Mei 2015.
Adopsi peramban bergerak dengan cepat:
- Chrome tidak lagi menggunakan SPDY dan memilih HTTP/2 mulai dari Chrome 51 (Mei 2016)
- Firefox menambahkan dukungan HTTP/2 di versi 36 (Februari 2015)
- Safari menyusul di versi 9 (September 2015)
- Microsoft Edge dikirimkan dengan dukungan HTTP/2 sejak rilis awal
- Bahkan Internet Explorer 11 mendapatkan dukungan HTTP/2 pada Windows 8.1 dan yang lebih baru
Tujuan Desain dan Perbedaan Utama dari HTTP/1.1
HTTP/2 mempertahankan kompatibilitas penuh dengan semantik HTTP/1.1. Metode seperti GET dan POST bekerja secara identik. Kode status tetap tidak berubah. URI dan bidang header HTTP mengikuti aturan yang sama. Yang berubah adalah bagaimana data ini bergerak melintasi kabel-mekanika lapisan transport yang menentukan kecepatan beban aktual.
Tujuan desain protokol sudah jelas:
| Tujuan | Bagaimana HTTP/2 Mencapainya |
|---|---|
| Mengurangi latensi | Multiplexing menghilangkan pemblokiran head of line tingkat HTTP |
| Penggunaan koneksi yang lebih baik | Sebuah koneksi TCP tunggal menangani semua permintaan ke sebuah sumber |
| Potong tajuk di atas kepala | Kompresi HPACK mengecilkan nilai header yang ditransfer sebelumnya |
| Meningkatkan kinerja seluler | Koneksi yang lebih sedikit dan header yang lebih kecil menguntungkan jaringan latensi tinggi |
Keindahan dari desain ini adalah kompatibilitas ke belakang pada tingkat aplikasi. Kode aplikasi web Anda yang sudah ada – rute, penangan, logika respons – tidak perlu diubah. Hanya tumpukan klien dan server yang harus mendukung HTTP/2 untuk mendapatkan manfaatnya.
Hal ini sangat kontras dengan solusi HTTP/1.1 yang harus diimplementasikan secara manual oleh para pengembang:
- Pemecahan domain: Menyebarkan aset di beberapa domain untuk membuka lebih banyak koneksi
- Penggabungan aset: Menggabungkan file CSS dan JavaScript untuk mengurangi permintaan
- Sprite gambar: Menggabungkan beberapa gambar menjadi satu file
- Menggarisbawahi: Menyematkan CSS dan JavaScript secara langsung dalam HTML
Mekanisme inti HTTP/2 yang menggantikan peretasan ini:
- Lapisan pembingkaian biner: Pesan yang dipecah menjadi beberapa frame membawa data secara efisien sebagai unit protokol biner
- Aliran multipleks: Beberapa pertukaran bersamaan terjadi pada koneksi yang sama
- Kompresi header HPACK: Tabel dinamis melacak header, menghilangkan redundansi
- Dorongan server: Server secara proaktif mengirimkan sumber daya yang dibutuhkan klien
- Prioritas aliran: Klien memberi sinyal sumber daya mana yang paling penting melalui bobot ketergantungan aliran
Pembingkaian Biner, Aliran, Pesan, dan Multiplexing
Inti dari HTTP/2 adalah lapisan pembingkaian biner, sebuah perubahan mendasar dari format berbasis teks pada HTTP/1.1. Setiap pesan HTTP dipecah menjadi bingkai biner dengan tata letak bingkai yang konsisten: header bingkai 9-byte yang berisi panjang, jenis, flag, dan pengidentifikasi aliran, diikuti dengan data muatan opsional.
Memahami hirarki membutuhkan pemahaman tiga konsep:
Stream adalah saluran dua arah yang independen dalam satu koneksi. Setiap stream memiliki pengenal 31-bit yang unik. Klien memulai stream dengan ID bernomor ganjil (1, 3, 5…), sedangkan server menggunakan ID bernomor genap (2, 4, 6…) untuk stream yang dimulai oleh server, seperti push. Pengenal aliran yang tidak diharapkan akan memicu kesalahan. Pengaturan aliran bersamaan maksimum mengontrol berapa banyak aliran yang dapat aktif secara bersamaan.
Pesan mewakili permintaan atau respons HTTP yang lengkap. Sebuah blok header lengkap terdiri dari satu atau beberapa frame, dan respons dapat mencakup beberapa frame data untuk badan pesan. Ketika penerima menemukan fragmen blok header, penerima akan menyusunnya kembali untuk merekonstruksi pesan lengkap.
Frame adalah unit terkecil pada kabel. Jenis frame dan kesalahan yang umum termasuk:
- Bingkai data: Membawa konten badan permintaan/respons
- Bingkai header: Berisi bidang header HTTP, mungkin dibagi menjadi beberapa frame yang disebut fragmen blok header
- PENGATURAN: Pesan kontrol koneksi untuk konfigurasi
- WINDOW_UPDATE: Penyesuaian jendela kontrol aliran
- PUSH_PROMISE: Mengumumkan dorongan server
- RST_STREAM: Menghentikan aliran dengan kode kesalahan
- PERGI: Memulai pemutusan koneksi secara halus
Keajaiban terjadi melalui multiplexing. Karena frame dari beberapa stream yang terbuka secara bersamaan dapat disisipkan melalui koneksi TCP tunggal – dengan salah satu titik akhir menyisipkan frame sesuai kebutuhan – maka tidak perlu menunggu. Penerima menyusun ulang frame berdasarkan pengenal aliran.
Pertimbangkan untuk memuat halaman web yang dibutuhkan:
- index.html (10 KB)
- styles.css (25 KB)
- app.js (100 KB)
- logo.png (15 KB)
- pahlawan-gambar.jpg (200 KB)
Dengan HTTP/1.1, browser Anda membuka beberapa koneksi untuk mengambilnya secara paralel, namun tetap mencapai batas. Dengan HTTP/2, kelima sumber daya mengirimkan secara bersamaan melalui satu koneksi sebagai beberapa aliran data. Frame data dari aliran yang berbeda saling menyisip, dengan klien dan server mengelola seluruh koneksi secara efisien.
Hal ini menghilangkan kebutuhan akan beberapa koneksi TCP, mengurangi overhead jendela kontrol aliran koneksi dan meningkatkan kinerja web secara dramatis.
Kompresi Header dengan HPACK
HPACK, yang didefinisikan dalam RFC 7541 (diterbitkan bersama HTTP/2 pada bulan Mei 2015), menyediakan kompresi header yang dirancang khusus untuk HTTP/2. Hal ini penting karena header HTTP/1.1 bertele-tele dan sama sekali tidak terkompresi, menyebabkan lalu lintas jaringan yang tidak perlu pada setiap permintaan.
Pertimbangkan header permintaan HTTP pada umumnya:
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)...
Accept: text/html,application/xhtml+xml,application/xml;q=0.9...
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Cookie: session=abc123def456; tracking=xyz789...
Header ini sering kali melebihi 700-800 byte per permintaan. Dengan cookie, ukurannya bisa membengkak hingga beberapa kilobyte. Kalikan dengan puluhan permintaan per halaman, dan Anda membuang-buang bandwidth yang signifikan – terutama menyakitkan pada jaringan seluler.
HPACK mengompres header melalui tiga mekanisme:
- Tabel statis: 61 pasangan bidang/nilai header umum yang telah ditentukan sebelumnya (seperti :method: GET atau :status: 200) yang tidak memerlukan transmisi
- Tabel dinamis: Tabel khusus koneksi yang dibuat oleh klien dan server bersama-sama, menyimpan nilai header yang ditransfer sebelumnya untuk digunakan kembali
- Pengkodean Huffman: Nilai string dikodekan menggunakan tabel Huffman yang telah ditentukan, mengecilkan representasi teks
Hasilnya sangat dramatis. Setelah permintaan pertama menetapkan header umum dalam tabel dinamis, permintaan berikutnya mungkin hanya mengirimkan referensi indeks. Header yang awalnya berukuran kilobyte menyusut menjadi puluhan byte.
HPACK secara khusus dirancang untuk menghindari kerentanan keamanan seperti CRIME dan BREACH yang mempengaruhi skema kompresi sebelumnya seperti DEFLATE dari SPDY. Dengan menggunakan kode Huffman statis dan manajemen tabel yang cermat, HPACK mencegah penyerang menggunakan analisis rasio kompresi untuk mengekstrak rahasia dari data penyerang/korban yang tercampur.
Perlu dicatat bahwa HPACK hanya beroperasi pada header HTTP. Response body masih menggunakan mekanisme penyandian konten standar seperti gzip atau Brotli pada lapisan HTTP, sepenuhnya terpisah dari kompresi header.
Server Push dan Prioritas Streaming
HTTP/2 memperkenalkan dua fitur pengoptimalan yang dirancang untuk menggantikan solusi HTTP/1.1: dorongan server untuk pengiriman sumber daya proaktif dan prioritas aliran untuk pemesanan sumber daya yang cerdas.
Dorongan Server
Server push memungkinkan server web mengirim sumber daya ke klien sebelum sumber daya tersebut diminta secara eksplisit. Mekanisme ini bekerja melalui frame PUSH_PROMISE:
- Permintaan klien /index.html
- Server merespons dengan HTML namun juga mengirimkan frame PUSH_PROMISE yang mengumumkan bahwa server akan mendorong /styles.css dan /app.js
- Server mengirimkan sumber daya tersebut pada stream baru yang diprakarsai oleh server (dengan pengenal stream menggunakan angka genap, sesuai dengan aturan penetapan pengenal stream yang bernilai lebih rendah)
- Browser menerima sumber daya sebelum penguraian HTML menemukan bahwa ia membutuhkannya
Hal ini meniadakan perjalanan pulang pergi. Alih-alih:
- Minta HTML → Terima HTML
- Mengurai HTML, menemukan CSS yang dibutuhkan → Meminta CSS
- Mengurai CSS, menemukan font yang dibutuhkan → Meminta font
Server mendorong runtuh langkah 2-3 ke langkah 1.
Namun, server push telah terbukti bermasalah dalam praktiknya:
- Browser mungkin sudah memiliki sumber daya yang di-cache, sehingga membuat push menjadi boros
- Server yang salah konfigurasi mendorong terlalu agresif, membuang bandwidth
- Mekanisme cache digest tidak pernah mencapai adopsi yang luas
- Banyak CDN dan browser sekarang membatasi atau menonaktifkan push secara default
Klien dapat menonaktifkan push sepenuhnya dengan mengatur SETTINGS_ENABLE_PUSH = 0 dalam kata pengantar koneksi mereka. Ketika kata pengantar koneksi klien segera menonaktifkan push, kata pengantar koneksi server terdiri dari pengakuan dan kepatuhan.
Penentuan Prioritas Aliran
Prioritas aliran memungkinkan klien memberi sinyal pentingnya sumber daya, membantu server mengalokasikan bandwidth secara efektif. Mekanisme yang digunakan:
- Bobot: Nilai dari 1-256 yang menunjukkan kepentingan relatif
- Ketergantungan: Aliran dapat bergantung pada aliran lain, membentuk pohon ketergantungan melalui deklarasi ketergantungan aliran
Contoh praktis:
- Aliran HTML (bobot 256, tanpa ketergantungan) – prioritas tertinggi
- Aliran CSS (bobot 200, tergantung pada HTML) – prioritas tinggi
- Gambar di atas lipatan (bobot 100, tergantung pada CSS)
- Analisis JavaScript (bobot 16, tergantung pada HTML) – prioritas rendah
Hal ini memastikan sumber daya jalur rendering yang penting tiba lebih dulu, sehingga meningkatkan kecepatan muat yang dirasakan meskipun total waktu transfer tetap sama.
Peringatan penting:
- Penentuan prioritas bersifat anjuran, tidak wajib
- Implementasi server sangat bervariasi dalam hal bagaimana mereka menghormati prioritas
- Perantara (proksi, CDN) dapat menyusun ulang frame
- Penyetelan membutuhkan pengujian dengan lalu lintas nyata, bukan asumsi
Batas stream bersamaan yang diiklankan memengaruhi berapa banyak stream yang dapat memiliki prioritas aktif sekaligus.
Kontrol Aliran, Penanganan Kesalahan, dan Pertimbangan Keamanan
HTTP/2 mengimplementasikan kontrol aliran dan penanganan kesalahannya sendiri di atas TCP, menangani skenario di mana kecerdasan lapisan aplikasi mengungguli standar lapisan transport.
Kontrol Aliran
Kontrol aliran mencegah pengirim yang cepat membanjiri penerima yang lambat. HTTP/2 menggunakan sistem berbasis kredit dengan frame WINDOW_UPDATE:
- Setiap aliran memiliki jendela kontrol aliran penerima sendiri
- Koneksi juga memiliki jendela kontrol aliran koneksi
- Ukuran jendela default: 65.535 byte (64 KB)
- Pengirim tidak dapat mengirimkan frame DATA melebihi jendela yang tersedia pada penerima
- Penerima mengirimkan frame WINDOW_UPDATE untuk memberikan lebih banyak kredit
Karakteristik utama:
- Kontrol aliran adalah hop-by-hop (berlaku di antara setiap pasangan pengirim/penerima)
- Tidak dapat dinonaktifkan
- Hanya bingkai DATA yang dihitung terhadap jendela; data bingkai wajib lainnya tidak dihitung
- Kontrol aliran aliran dan kontrol aliran koneksi beroperasi secara independen
Hal ini mencegah satu aliran cepat memonopoli sumber daya koneksi, terutama penting ketika proxy atau CDN berada di antara klien dan asal.
Penanganan Kesalahan
HTTP/2 menyediakan sinyal kesalahan granular:
- Kesalahan tingkat aliran: RST_STREAM segera menghentikan satu aliran tanpa memengaruhi aliran lainnya, membawa kode kesalahan seperti PROTOCOL_ERROR atau FLOW_CONTROL_ERROR
- Kesalahan tingkat koneksi: GOAWAY dengan lembut mematikan koneksi, memungkinkan permintaan dalam penerbangan untuk diselesaikan sekaligus mencegah permintaan baru
Protokol mendefinisikan registri kode kesalahan, termasuk:
- PROTOCOL_ERROR (0x1): Pelanggaran protokol umum
- FLOW_CONTROL_ERROR (0x3): Aturan kontrol aliran dilanggar
- FRAME_SIZE_ERROR (0x6): Ukuran bingkai terlampaui PENGATURAN_MAX_FRAME_SIZE
- KEAMANAN YANG TIDAK MEMADAI (0xc): Konfigurasi keamanan lapisan transport tidak memadai
Pertimbangan Keamanan
Meskipun RFC 7540 secara teknis tidak memerlukan enkripsi, semua peramban web utama memerlukan HTTP/2 melalui keamanan lapisan transport (TLS). Hal ini menjadikan TLS 1.2+ sebagai garis dasar secara de facto:
- Koneksi dimulai dengan jabat tangan TLS termasuk ALPN (Negosiasi Protokol Lapisan Aplikasi)
- Ekstensi ALPN menegosiasikan pengenal “h2” untuk HTTP/2
- Server harus menghindari rangkaian sandi yang lemah yang masuk dalam daftar hitam spesifikasi
- Rangkaian cipher yang menggunakan RC4 atau algoritme yang sudah tidak digunakan lagi memicu kesalahan KEAMANAN YANG TIDAK MEMADAI
Pertimbangan privasi meliputi:
- PENGATURAN dan pola prioritas dapat menyidik jari klien
- Koneksi tunggal per asal menghubungkan semua aktivitas pengguna ke asal tersebut
- Protokol biner mengaburkan lalu lintas tetapi tidak menyembunyikannya dari pengamat jaringan
Pemblokiran Head-of-Line TCP
HTTP/2 memecahkan pemblokiran head of line tingkat HTTP melalui multipleks, tetapi pemblokiran tingkat TCP tetap ada. Ketika paket TCP hilang, semua aliran pada koneksi tersebut terhenti sampai transmisi ulang selesai-bahkan aliran yang datanya berhasil sampai.
Keterbatasan ini memotivasi HTTP/3, yang berjalan di atas QUIC (berbasis UDP) untuk memberikan kemandirian aliran yang sebenarnya. Kehilangan paket yang mempengaruhi satu aliran tidak memblokir aliran lainnya.
Menerapkan dan Menggunakan HTTP/2 dalam Praktik
Di tahun 2026, mengaktifkan HTTP/2 sangatlah mudah. Sebagian besar server web modern dan CDN mendukungnya secara langsung, terutama melalui HTTPS. Mekanisme peningkatan HTTP menangani negosiasi secara transparan.
Persyaratan Sisi Klien
Pengguna tidak perlu melakukan sesuatu yang istimewa:
- Semua peramban web desktop modern (Chrome, Firefox, Safari, Edge) mendukung HTTP/2 secara default
- Peramban web seluler (Chrome untuk Android, Safari di iOS) menyertakan dukungan penuh
- Tetap menggunakan versi browser saat ini untuk memastikan kompatibilitas
- HTTP/2 bernegosiasi secara otomatis bila tersedia
Konfigurasi Sisi Server
Server HTTP Apache (2.4.17+):
- Aktifkan modul mod_http2 (bukan mod_spdy yang lama)
- Menambahkan Protokol h2 http/1.1 ke host virtual TLS
- Pastikan versi OpenSSL mendukung ALPN
Nginx (1.9.5+):
server {
listen 443 ssl http2;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
# ... rest of configuration
}
IIS (Windows Server 2016+):
- HTTP/2 diaktifkan secara default untuk HTTPS dengan TLS 1.2+
- Tidak diperlukan konfigurasi tambahan
Penyedia CDN:
- Cloudflare: HTTP/2 diaktifkan secara default pada semua paket
- AWS CloudFront: Diaktifkan secara default untuk distribusi HTTPS
- Cepat: Didukung dan diaktifkan secara default
Verifikasi dan Pemecahan Masalah
Konfirmasikan HTTP/2 berfungsi dengan daftar periksa ini:
- Browser DevTools: Buka tab Jaringan, aktifkan kolom Protokol, cari “h2”
- Baris perintah: curl –http2 -I https://example.com menunjukkan HTTP/2 sebagai respons
- Alat online: Layanan uji HTTP/2 memverifikasi konfigurasi
- Periksa perantara: CDN atau proxy balik harus mendukung HTTP/2, bukan hanya server asal
Masalah-masalah umum yang mencegah HTTP/2:
- Versi OpenSSL terlalu tua untuk dukungan ALPN
- Konfigurasi khusus TLS 1.0/1.1
- Rangkaian sandi yang lemah memicu fallback
- Pengupasan proxy yang salah konfigurasi dukungan HTTP/2
HTTP/2 dan seterusnya
HTTP/2 tetap menjadi protokol yang dominan untuk komunikasi web modern, bahkan ketika HTTP/3 (RFC 9114, diterbitkan tahun 2022) mulai digunakan. HTTP/3 mengatasi pemblokiran head-of-line TCP dengan berjalan di atas QUIC, tetapi model koneksi TCP tunggal HTTP/2 terus melayani sebagian besar lalu lintas web secara efektif.
Untuk sebagian besar situs, HTTP/2 memberikan peningkatan kinerja web yang substansial dengan upaya konfigurasi yang minimal. Mulailah bertukar frame melalui HTTP/2 hari ini, dan pengguna Anda – baik di desktop maupun seluler – akan mengalami pemuatan halaman yang lebih cepat dan lebih efisien.
Hal-hal Penting yang Dapat Dipetik
- HTTP/2 merevolusi kinerja web melalui multiplexing yang memungkinkan beberapa pertukaran bersamaan melalui satu koneksi
- Kompresi header HPACK menghilangkan transmisi header yang berlebihan, terutama yang menguntungkan pengguna seluler
- Server push dan stream prioritization mengoptimalkan pengiriman sumber daya, meskipun implementasinya bervariasi
- Kontrol aliran mencegah kelaparan sumber daya di beberapa aliran
- Penerapannya sangat mudah pada server modern, terutama membutuhkan konfigurasi HTTPS
- Semua browser utama mendukung HTTP/2, membuat adopsi menjadi mulus bagi pengguna akhir
Langkah Selanjutnya
Jika Anda belum memverifikasi HTTP/2 pada server web Anda, sekaranglah saatnya. Buka alat pengembang peramban Anda, muat situs Anda, dan periksa kolom Protokol. Jika Anda melihat “http/1.1” dan bukannya “h2”, tinjau kembali konfigurasi server Anda-Anda akan kehilangan peningkatan kinerja yang signifikan.
Bagi mereka yang sudah menjalankan HTTP/2, pertimbangkan untuk memantau metrik koneksi HTTP/2 server Anda. Memahami bagaimana beberapa aliran bersamaan berperilaku di bawah lalu lintas nyata membantu mengidentifikasi peluang pengoptimalan sebelum pengguna Anda menyadari adanya masalah.