Module 2 — HTTP & Web: tổng quan
Module đào sâu tầng Application — HTTP, nơi backend dev đụng hàng trăm lần mỗi ngày: từ anatomy request/response, headers, cookie/CORS đến HTTP/2-3, REST/gRPC/WS/SSE, caching/CDN, reverse proxy và load balancer L4/L7.
TL;DR: Module 1 đưa bạn qua bức tranh tổng — DNS, TCP, TLS, HTTP. Module 2 dừng lại đúng ở tầng HTTP (Application) và mổ nó thật kỹ: từng byte trong request/response, từng header backend cần hiểu, lý do browser chặn cross-origin request, vì sao HTTP/2 nhanh hơn HTTP/1.1, khi nào dùng WebSocket thay REST, và caching/CDN/load-balancer vận hành ra sao. Học xong module này, bạn không còn gọi API "mù" — bạn đọc được raw request, debug header, giải thích CORS cho đồng nghiệp, và chọn đúng protocol cho từng bài toán.
Vì sao module này tồn tại
Khi code backend, bạn đụng tầng HTTP mỗi ngày: trả response sai status code, quên set Content-Type, gặp lỗi CORS mà không biết browser hay server sai, chọn REST nhưng lẽ ra cần WebSocket. Những lỗi này không phải vì thiếu kỹ năng lập trình — mà vì chưa đọc được ngôn ngữ của tầng HTTP.
Module 1 đã cho bạn bản đồ 5 chặng. Module 2 phóng to đúng chặng cuối — HTTP — và giải thích cơ chế vận hành bên dưới các API bạn đang dùng hàng ngày.
Đây là bản đồ 9 bài của module:
flowchart TD
A["00 Tong quan<br/>(bai nay)"] --> B["01 HTTP anatomy<br/>method + status"]
B --> C["02 Headers<br/>Content-Type, Cache, Auth"]
C --> D["03 Cookie, Session, CORS<br/>tai sao request bi chan"]
D --> E["04 HTTP/2<br/>multiplexing"]
E --> F["05 HTTP/3 & QUIC<br/>UDP tang nhanh"]
F --> G["06 REST, gRPC, WS, SSE<br/>chon protocol"]
G --> H["07 Caching, CDN, Proxy<br/>giam tai server"]
H --> I["08 Reverse proxy Nginx<br/>cau hinh thuc te"]
I --> J["09 Load balancer L4/L7<br/>phan tan tai"]
J --> K["10 Tong ket module"]Sau module này bạn sẽ
- Explain được cấu trúc HTTP request/response (request line, headers, body), ý nghĩa của từng status code class (2xx/3xx/4xx/5xx), và tính chất safe/idempotent của HTTP method — nền tảng để thiết kế API đúng.
- Choose được giữa REST, gRPC, WebSocket, SSE cho từng bài toán cụ thể dựa trên tradeoff latency, bidirectional, type-safety.
- Design được hệ thống caching/CDN/reverse-proxy/load-balancer: biết header nào kiểm soát cache, CDN vận hành thế nào, Nginx làm gì mà Apache không làm, L4 vs L7 load balancer khác nhau ra sao.
Lộ trình module
Bài 01 — HTTP anatomy là nền móng: bạn cần hiểu cấu trúc request/response và ý nghĩa status code trước mọi thứ khác. Bài 02 — Headers đào sâu từng nhóm header quan trọng — content negotiation, caching, auth — nhiều bài sau sẽ nhắc lại.
Bài 03 — Cookie, Session, CORS giải quyết câu hỏi "tại sao browser chặn request của tôi?" — một trong những lỗi phổ biến nhất khi dev API. Hiểu bài này sẽ tiết kiệm hàng giờ debug.
Bài 04 và 05 nâng cấp HTTP: multiplexing của HTTP/2 và QUIC của HTTP/3 — giải thích vì sao một số app load nhanh hơn hẳn dù cùng đường truyền.
Bài 06 — REST/gRPC/WebSocket/SSE là bài kiến trúc quan trọng: cùng giải quyết bài toán client-server giao tiếp nhưng mỗi protocol phù hợp một tình huống. Bài 07-08-09 là infrastructure: caching/CDN giảm tải, Nginx làm reverse proxy, load balancer phân tán traffic.
Bài 10 — Tổng kết gom lại cheat sheet một trang để bookmark.
Yêu cầu trước khi bắt đầu
- Đã hoàn thành Module 1 — TCP & UDP (hoặc hiểu cơ bản TCP 3-way handshake). Bài này sẽ nhắc lại TCP nhưng không giải thích lại từ đầu.
- Đã từng viết một API endpoint (bất kỳ ngôn ngữ) hoặc gọi API bằng
curl/Postman. - Terminal cơ bản để chạy
curl -vxem raw HTTP.
Time budget
| Bài | Chủ đề | Thời lượng |
|---|---|---|
| 00 | Tổng quan (bài này) | ~10 phút |
| 01 | HTTP anatomy — method, status | ~22 phút |
| 02 | HTTP headers quan trọng | ~20 phút |
| 03 | Cookie, session & CORS | ~22 phút |
| 04 | HTTP/2 — multiplexing | ~18 phút |
| 05 | HTTP/3 & QUIC | ~18 phút |
| 06 | REST, gRPC, WebSocket, SSE | ~22 phút |
| 07 | Caching, CDN, proxy | ~20 phút |
| 08 | Reverse proxy & Nginx | ~20 phút |
| 09 | Load balancer L4/L7 | ~20 phút |
| 10 | Tổng kết & cheat sheet | ~15 phút |
| Tổng | ~3 giờ 10 phút |
Cách học module này hiệu quả
- Chạy
curl -vxem raw HTTP. Mỗi bài concept đều có ví dụ command line — chạy ngay, đừng chỉ đọc. Outputcurl -vhiện đủ request line, headers, status — chính xác những gì bài dạy. - Bám theo bản đồ. Khi đọc bài 07 (caching), nhớ lại bài 02 (header
Cache-Control) — chúng nối nhau. Module này có nhiều cross-reference hơn Module 1. - Đọc error message CORS từ đầu. Bài 03 sẽ dạy bạn đọc đúng thông báo lỗi CORS trong DevTools — từ đó mới biết fix đúng chỗ.
- Đừng bỏ qua bài 06. Nhiều dev biết REST nhưng chưa rõ khi nào WebSocket hay SSE phù hợp hơn. Bài này tránh cho bạn over-engineering.
Bài tiếp theo: HTTP anatomy — method, status code đọc cho đúng
Bài này đáng gửi cho bạn học cùng?
Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.
Bài này có giúp bạn hiểu bản chất không?
Hỏi đáp về bài này
Chưa có câu hỏi
Có gì chưa rõ trong bài? Đặt câu hỏi đầu tiên — câu trả lời từ cộng đồng giúp bạn (và người sau).
Đặt câu hỏi đầu tiên