TCP, HTTP & Web cho Backend
11/29
Bài 11 / 29~10 phútHTTP & WebLộ trình · chặng 09/21Miễ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:

Lộ trình Module 02: Tầng Ứng Dụng HTTP & Kiến Trúc Web

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 có giúp bạn hiểu bản chất khô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.

Lộ trình Junior Java Backend Developer

Chặng 9/21 · HTTP, REST & web cho backend — bài 1/11 của chặng

Thảo luận & góp ý

Hỏi đáp về bài này

Bài tiếp theo

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