TCP, HTTP & Web cho Backend/Module 2 — HTTP & Web: tổng quan
11/29
Bài 11 / 29~10 phútHTTP & WebMiễn phí lượt xem

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 -v xem raw HTTP.

Time budget

BàiChủ đềThời lượng
00Tổng quan (bài này)~10 phút
01HTTP anatomy — method, status~22 phút
02HTTP headers quan trọng~20 phút
03Cookie, session & CORS~22 phút
04HTTP/2 — multiplexing~18 phút
05HTTP/3 & QUIC~18 phút
06REST, gRPC, WebSocket, SSE~22 phút
07Caching, CDN, proxy~20 phút
08Reverse proxy & Nginx~20 phút
09Load balancer L4/L7~20 phút
10Tổ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 -v xem raw HTTP. Mỗi bài concept đều có ví dụ command line — chạy ngay, đừng chỉ đọc. Output curl -v hiệ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

Đặt 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

Bài tiếp theo

HTTP anatomy — method, status code đọc cho đúng