
HTTP/3 là gì?
HTTP/3 là phiên bản mới nhất của giao thức truyền tải web, thay thế TCP bằng QUIC (Quick UDP Internet Connections). Khác với HTTP/1.1 (TCP) và HTTP/2 (TCP + multiplexing), HTTP/3 chạy hoàn toàn trên UDP, loại bỏ head-of-line blocking, giảm độ trễ, và cải thiện độ tin cậy trên mạng không ổn định.
QUIC được Google phát triển từ 2012, chuẩn hóa thành RFC 9000 (2021). HTTP/3 dựa trên QUIC trở thành RFC 9114 (2022). Các trình duyệt chính đã hỗ trợ đầy đủ: Chrome 87+, Firefox 88+, Safari 14+, Edge 87+.

Tại sao HTTP/3 khác biệt?
UDP thay vì TCP
TCP đảm bảo thứ tự gói tin — gói bị mất sẽ chặn cả pipeline cho đến khi retransmit (head-of-line blocking). UDP không có thứ tự, QUIC tự implement reliability layer bên trên, cho phép stream độc lập: một stream mất gói không ảnh hưởng stream khác.
0-RTT connection
HTTP/3 cho phép gửi data ngay từ packet đầu tiên nếu đã từng kết nối trước (session resumption). TLS 1.3 handshake và QUIC handshake gộp thành một, cắt giảm round-trip từ 2-3 xuống 0-1.
Connection migration
Khi đổi network (Wi-Fi → 4G), TCP connection đứt vì IP thay đổi. QUIC dùng Connection ID 64-bit thay vì 4-tuple (IP:port), giữ kết nối sống khi IP client đổi.
Stream-level flow control
HTTP/2 dùng flow control toàn connection. HTTP/3 có flow control cho từng stream — stream lớn không nghẽn stream nhỏ (priority cho API calls, CSS/JS).

So sánh HTTP/1.1, HTTP/2, HTTP/3
| Đặc điểm | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| Transport | TCP | TCP | UDP (QUIC) |
| Multiplexing | Không | Có (stream ID) | Có (stream ID độc lập) |
| Head-of-line blocking | Có (request level) | Có (TCP level) | Không (stream level) |
| TLS handshake | Tách biệt | Tách biệt (ALPN h2) | Gộp với QUIC (ALPN h3) |
| 0-RTT | Không | Không | Có |
| Connection migration | Không | Không | Có |
| Header compression | Không | HPACK | QPACK |
Lợi ích thực tế
- Giảm latency: 0-RTT + no HOL blocking = page load nhanh hơn 15-30% trên mạng trung bình, 50%+ trên mạng yếu.
- Mobile-friendly: Connection migration giữ kết nối khi user chuyển Wi-Fi/4G.
- Bảo mật mặc định: TLS 1.3 bắt buộc, không có plaintext HTTP/3.
- Server push cải tiến: QPACK cho phép server push headers mà không chặn stream khác.
Triển khai HTTP/3
Web server support
- nginx: 1.25+ có experimental QUIC module (
--with-http_v3_module). - Caddy: Hỗ trợ sẵn, chỉ cần
http3trong Caddyfile. - Apache: 2.4.58+ mod_quic (experimental).
- Cloudflare: Bật trong dashboard, proxy tự động upgrade.
- AWS ALB/CloudFront: Hỗ trợ HTTP/3 qua ALB/CloudFront distribution.
Kiểm tra HTTP/3 hoạt động
# curl with HTTP/3
curl --http3 -I https://your-domain.com
# Kiểm tra header Alt-Svc
curl -I https://your-domain.com | grep -i alt-svc
# Kết quả mong đợi: alt-svc: h3=":443"; ma=86400
Troubleshooting
- UDP 443 bị chặn firewall → mở UDP inbound.
- QUIC version negotiation fail → cập nhật OpenSSL 3.0+, nginx 1.25+.
- Certificate không hỗ trợ TLS 1.3 → renew cert.
Kết luận
HTTP/3 không chỉ là nâng cấp version — là thay đổi nền tảng transport layer từ TCP sang UDP+QUIC. Lợi ích rõ rệt nhất trên mobile và mạng không ổn định, nơi packet loss và IP changes thường xuyên. Với việc browser, CDN, và web server đều đã hỗ trợ production-ready, bật HTTP/3 là low-hanging fruit cho performance và UX tốt hơn.
