HTTP/2 adalah upgrade besar dari HTTP/1.1
HTTP/2 adalah versi terbaru dari protokol HTTP yang menggantikan HTTP/1.1.
Tujuan utamanya adalah meningkatkan kecepatan, efisiensi, dan performa komunikasi antara browser dan server.
Fitur utama HTTP/2 yang membuatnya lebih cepat
A. Multiplexing
Di HTTP/1.1:
-
Satu koneksi hanya bisa mengirim satu request dalam satu waktu.
-
Browser biasanya membuat beberapa koneksi TCP (misalnya 6 koneksi per domain) untuk mengambil beberapa file sekaligus.
-
Kalau banyak file (CSS, JS, gambar, data), akan terjadi bottleneck.
Di HTTP/2:
-
Satu koneksi TCP dapat mengirim banyak request sekaligus dalam paralel tanpa saling menunggu.
-
Ini mengurangi latency dan membuat website jauh lebih cepat.
Tidak perlu lagi “domain sharding” (memecah aset ke banyak domain untuk mempercepat).
B. Server Push
Fitur ini memungkinkan server mengirim file sebelum browser memintanya.
Contoh:
Browser minta index.html.
Server tahu halaman itu butuh style.css dan app.js,
→ maka server “push” file itu otomatis.
Tujuan: mempercepat loading.
Tapi, HTTP/2 juga membawa risiko keamanan
Seperti teknologi baru lainnya, peningkatan fitur membawa potensi penyalahgunaan.
1. Server Push Bisa Disalahgunakan
Karena server bisa mengirim file tanpa diminta, maka berpotensi:
-
mengirim resource berbahaya atau disusupi malware,
-
menipu (spoofing) file asli dengan versi palsu,
-
memaksa browser menerima dan memuat file yang tidak diminta.
Dengan kata lain:
Server push = bisa jadi jalur injeksi konten berbahaya.
2. Header Abuse (Header Frame Attacks)
Dalam HTTP/2, data dikirim dalam bentuk frame (potongan kecil).
Penyerang dapat mengirim header yang sangat besar atau dalam jumlah ekstrem.
⚠ Ini menyebabkan masalah seperti:
-
server kehabisan memori (memory exhaustion),
-
server crash,
-
Denial of Service (DoS).
Karena server biasanya mengalokasikan memori sesuai ukuran header,
penyerang bisa mengirim header dengan ukuran besar untuk membuat server overload.
Analogi Singkat
HTTP/1.1
→ seperti jalan 1 jalur, semua mobil harus antre.
HTTP/2
→ jalan multi-jalur, mobil bisa lewat banyak jalur bersamaan.
→ Plus, petugas jalan (server) bisa otomatis mengantarkan barang sebelum diminta (server push).
Tapi jika ada orang jahat:
-
dia bisa mengirim truk raksasa (header besar) untuk macetkan jalan,
atau petugas jalan bisa mengirim barang palsu (server push abuse).
Kesimpulan
HTTP/2 memberikan manfaat sangat besar:
✔ lebih cepat
✔ lebih efisien
✔ lebih sedikit koneksi
✔ latency lebih rendah
Tetapi juga membawa risiko keamanan baru:
⚠ server push bisa dipakai untuk mendorong konten berbahaya
⚠ header frame abuse dapat menyebabkan DoS
⚠ server harus divalidasi dan dibatasi untuk mencegah eksploitasi
HTTP/2 aman jika dikonfigurasi dengan benar tetapi dapat berbahaya jika dibiarkan default tanpa batasan.

0 Comments:
Posting Komentar