
Giới thiệu
HTTP (HyperText Transfer Protocol) là giao thức nền tảng cho mọi hoạt động trên web. Mỗi phiên bản HTTP ra đời đều nhằm giải quyết những hạn chế của phiên bản trước, đặc biệt xoay quanh hiệu năng, độ trễ và khả năng mở rộng.
Bài viết này sẽ đi từ HTTP/1 → HTTP/2 → HTTP/3, phân tích cách chúng hoạt động, so sánh ưu nhược điểm và lý do HTTP/3 ra đời.
1. HTTP/1 – Nền móng của web hiện đại
Tổng quan
HTTP/1 (phổ biến nhất là HTTP/1.1 – RFC 2616, sau này là RFC 7230–7235) là phiên bản đã thống trị web trong hơn 20 năm.
Đặc điểm chính:
- Dựa trên TCP
- Giao tiếp theo mô hình request – response
- Mỗi request gửi dưới dạng text (plain text headers)
Cách hoạt động
- Trình duyệt gửi request
- Server trả về response
- Các request trong cùng một kết nối TCP phải xử lý tuần tự
Ưu điểm
- Đơn giản, dễ debug
- Phổ biến, tương thích gần như mọi hệ thống
- Dễ triển khai
Nhược điểm
- Head-of-Line Blocking (HOL)
Một request chậm sẽ chặn các request phía sau trong cùng kết nối. - Nhiều kết nối TCP song song
Trình duyệt phải mở 6–8 kết nối TCP cho mỗi domain → tốn tài nguyên. - Header dư thừa
Mỗi request đều gửi lại header đầy đủ → lãng phí băng thông.
Các “mẹo” khắc phục (workaround thời HTTP/1)
- CSS sprites
- Domain sharding
- Concatenate JS/CSS
- Inline tài nguyên
→ Các giải pháp này làm code phức tạp và khó bảo trì.
2. HTTP/2 – Tối ưu hiệu năng trên nền TCP
Tổng quan
HTTP/2 (RFC 7540) ra đời năm 2015, dựa trên SPDY của Google, với mục tiêu tăng tốc web mà không thay đổi semantics của HTTP.
Điểm cải tiến chính
1. Multiplexing
- Nhiều request/response chạy song song trên một kết nối TCP
- Không cần mở nhiều TCP connection
2. Binary framing
- Dữ liệu được chia thành frame nhị phân
- Máy dễ parse hơn text
3. Header compression (HPACK)
- Chỉ gửi phần header thay đổi
- Giảm đáng kể kích thước request
4. Server Push
- Server có thể chủ động đẩy tài nguyên (CSS, JS) cho client
Ưu điểm
- Giảm latency rõ rệt so với HTTP/1
- Không cần các workaround phức tạp
- Sử dụng tốt tài nguyên mạng
Nhược điểm
- Vẫn phụ thuộc TCP
- HOL blocking vẫn tồn tại ở tầng TCP
- Nếu một packet TCP bị mất → toàn bộ stream chờ retransmission
- Server Push khó kiểm soát
- Dễ push dư thừa
- Nhiều browser đã giảm hoặc bỏ hỗ trợ mạnh
3. HTTP/3 – Bước nhảy vọt với QUIC
Tổng quan
HTTP/3 là phiên bản mới nhất, chạy trên QUIC (UDP-based protocol) thay vì TCP.
HTTP/3 = HTTP semantics + QUIC transport
Vì sao cần HTTP/3?
Vấn đề cốt lõi:
HTTP/2 đã giải quyết HOL ở tầng HTTP, nhưng TCP vẫn gây HOL ở tầng transport.
QUIC được thiết kế để giải quyết chính vấn đề này.
Điểm nổi bật của HTTP/3
1. QUIC chạy trên UDP
- Không phụ thuộc TCP
- Tự quản lý congestion control, retransmission
2. Stream độc lập
- Mỗi stream mất packet không chặn stream khác
- HOL blocking gần như được loại bỏ
3. Kết nối nhanh hơn
- TLS 1.3 tích hợp sẵn
- Hỗ trợ 0-RTT / 1-RTT
- Giảm thời gian handshake đáng kể
4. Connection Migration
- Thay đổi mạng (WiFi → 4G) không cần reconnect
- Phù hợp cho mobile user
Ưu điểm
- Hiệu năng vượt trội trên mạng không ổn định
- Giảm latency thực tế cho người dùng di động
- Thiết kế hiện đại, bảo mật mặc định
Nhược điểm
- Triển khai phức tạp hơn
- Debug khó hơn (UDP + encrypted)
- Một số network/firewall cũ chặn UDP
- Chưa phải mọi hệ thống backend đều tối ưu cho QUIC
4. So sánh nhanh HTTP/1 – HTTP/2 – HTTP/3
| Tiêu chí | HTTP/1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| Transport | TCP | TCP | QUIC (UDP) |
| Multiplexing | ❌ | ✅ | ✅ |
| Tránh HOL Blocking | ❌ | ⚠️ (TCP) | ✅ |
| Header Compression | ❌ | ✅ (HPACK) | ✅ |
| Handshake nhanh | ❌ | ❌ | ✅ |
| Phù hợp mobile | ❌ | ⚠️ | ✅ |
| Độ phổ biến | Đang giảm | Cao | Đang tăng |
5. Khi nào nên dùng HTTP/3?
HTTP/3 không bắt buộc, nhưng rất đáng cân nhắc nếu:
- Website có lượng user mobile lớn
- Người dùng ở mạng không ổn định
- Sản phẩm yêu cầu latency thấp (streaming, realtime)
Hiện nay:
- Chrome, Firefox, Safari đã hỗ trợ HTTP/3
- Cloudflare, Google, Facebook đã triển khai rộng rãi
6. Kết luận
- HTTP/1: đơn giản, ổn định nhưng chậm
- HTTP/2: cải tiến lớn, vẫn là lựa chọn mặc định hiện nay
- HTTP/3: tương lai của web, đặc biệt cho mobile & mạng kém ổn định
Sự tiến hóa của HTTP phản ánh đúng một triết lý:
Web ngày càng phải nhanh hơn, linh hoạt hơn và thân thiện hơn với người dùng cuối.

