Nội dung
Danh sách bài học
- 01~10 phút
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.
- 02~22 phút
HTTP anatomy — method, status code đọc cho đúng
Mổ cấu trúc thật của HTTP request/response (request line, headers, body), tính chất safe/idempotent của method ảnh hưởng tới retry, và ý nghĩa thật của từng status code class — bao gồm các cặp hay nhầm: 401 vs 403, 502 vs 504, 301 vs 302 vs 307.
- 03~20 phút
HTTP headers quan trọng — Content-Type, Cache-Control, Authorization
Đào sâu các nhóm header backend cần nắm: content negotiation (Content-Type, Accept, Content-Encoding), caching sơ bộ (Cache-Control, ETag, 304), xác thực (Authorization, WWW-Authenticate), và headers bảo mật (HSTS, X-Content-Type-Options). Bài nền để hiểu caching/CDN và cookie/CORS.
- 04~22 phút
Cookie, session & CORS — vì sao request bị chặn
Giải thích cơ chế cookie (HttpOnly, Secure, SameSite Lax/Strict/None chống CSRF), session server-side vs JWT stateless, same-origin policy, và CORS preflight OPTIONS — bao gồm vì sao browser chặn cross-origin nhưng server vẫn nhận được request.
- 05~18 phút
HTTP/2 — multiplexing giải quyết head-of-line blocking
HTTP/1.1 chỉ xử lý 1 request tại một thời điểm trên mỗi kết nối, dẫn đến head-of-line blocking ứng dụng. HTTP/2 dùng binary framing và stream để gửi nhiều request song song trên 1 kết nối TCP — cắt HOL ứng dụng hoàn toàn. Nhưng HOL ở tầng TCP vẫn còn, và đó là lý do HTTP/3 ra đời.
- 06~18 phút
HTTP/3 & QUIC — vì sao chuyển khỏi TCP
HTTP/2 vẫn bị TCP head-of-line blocking: mất 1 gói chặn mọi stream. QUIC chạy trên UDP, tự cài reliability với stream độc lập, gộp TLS 1.3 vào handshake 1-RTT/0-RTT, và cho phép connection migration khi đổi mạng. HTTP/3 là HTTP trên QUIC.
- 07~20 phút
REST vs gRPC vs WebSocket vs SSE — chọn cái nào
Bốn mô hình giao tiếp client-server: REST request/response stateless, gRPC HTTP/2 binary streaming, WebSocket full-duplex bền vững, SSE server-to-client một chiều. Bảng so sánh và cây quyết định để chọn đúng cho từng use-case.
- 08~22 phút
Caching, CDN & proxy — đưa nội dung tới gần user
Các tầng cache từ browser tới origin, Cache-Control vs ETag validation, CDN edge hit/miss, cache invalidation và phân biệt forward vs reverse proxy. Hiểu vì sao một deploy sai header khiến user thấy nội dung cũ hàng tháng.
- 09~20 phút
Reverse proxy với Nginx — cửa ngõ trước backend
TLS termination, routing/upstream, rate limiting, static serving, header forwarding. Vì sao client chỉ thấy proxy và app backend không cần quan tâm tới HTTPS.
- 10~20 phút
Load balancer — L4 vs L7, thuật toán phân tải
Vì sao cần load balancer, L4 (TCP) vs L7 (HTTP), thuật toán round-robin/least-conn/IP hash, health check, sticky session và vì sao session cần external store.
- 11~15 phút
Module 2 — Tổng kết & cheat sheet
Recap toàn cảnh HTTP & Web: cheat sheet status code, so sánh HTTP/1.1-2-3, REST/gRPC/WS/SSE, kiến trúc web edge client→CDN→LB→proxy→app. Glossary 18 thuật ngữ, pitfall tổng hợp, self-assessment.