Nền tảng Mạng máy tính
1/17
Bài 1 / 17~5 phútTừ URL đến ResponseMiễn phí… lượt xem

Module 1 — Từ URL đến Response: tổng quan

Bản đồ mở đầu khoá: một HTTP request đi qua 5 chặng nào và mô hình TCP/IP 4 tầng gói bức tranh đó ra sao, để biết sự cố đang kẹt ở chặng nào.

TL;DR: Trước khi đào sâu DNS, TCP hay HTTP ở các module sau, bạn cần một bản đồ tổng thể: khi gõ một URL và nhấn Enter, dữ liệu đi qua 5 chặng nối tiếp (DNS → TCP → TLS → HTTP → render) trên nhiều máy. Module 1 dựng bản đồ đó qua hai bài — một bài đi theo dòng thời gian của request, một bài hệ thống hoá thành mô hình TCP/IP 4 tầng. Mục tiêu không phải nhớ chi tiết từng giao thức, mà là có khung tư duy để biết chặng nào đang hỏng khi debug, và để mọi kiến thức sâu về sau có chỗ bám.

Vì sao module này tồn tại

Hầu hết developer gọi API mỗi ngày nhưng nếu được hỏi "giữa lúc nhấn Enter và lúc trang hiện ra, điều gì thực sự xảy ra?" thì câu trả lời thường dừng ở "trình duyệt gửi request tới server". Đúng, nhưng thiếu mất phần lớn câu chuyện, và phần bị bỏ qua đó lại là nơi sinh ra những lỗi production khó chịu nhất: trang chậm 3 giây không rõ lý do, ECONNRESET lúc nửa đêm, cert hết hạn, DNS chưa kịp lan.

Module này không dạy bạn cấu hình router hay học thuộc 7 tầng OSI. Nó dựng một bản đồ tư duy: request đi qua những trạm nào, mỗi trạm giải quyết bài toán gì, và khi có sự cố thì nhìn vào đâu. Có bản đồ rồi, các module sau (DNS, TCP, HTTP, TLS) chỉ là phóng to từng trạm.

Bản đồ đó trông như sau, 5 chặng nối tiếp của một request:

Năm chặng của một request xếp dọc từ lúc gõ URL: DNS đổi tên miền thành IP, TCP handshake mở kết nối, TLS mã hoá và xác thực cert, HTTP trao đổi request response, Render vẽ trang — cạnh mỗi chặng là triệu chứng khi nó hỏng, kết bằng câu debug là tìm chặng đang kẹt rồi chọn đúng công cụ

Sau module này bạn sẽ

  • Trace được vòng đời một HTTP request qua 5 chặng: DNS → TCP handshake → TLS → HTTP → render.
  • Explain được vì sao mạng chia tầng và mô hình TCP/IP 4 tầng (Link, Internet, Transport, Application) — mỗi tầng đóng gói tầng trên thế nào.
  • Diagnose sơ bộ một sự cố bằng cách xác định request đang kẹt ở chặng nào, rồi chọn đúng công cụ cho chặng đó.

Lộ trình module

Hai bài chính bổ sung cho nhau theo hai góc nhìn:

  1. Điều gì xảy ra khi gõ google.com — đi theo dòng thời gian của một request từ con số 0: phân giải tên miền, bắt tay TCP, thiết lập TLS, trao đổi HTTP, rồi render. Bài xương sống của khoá: một lần load trang quay chậm, thấy từng chặng ráp vào nhau.

  2. Mô hình TCP/IP 4 tầng — lùi lại một bước, hệ thống hoá dòng thời gian đó thành kiến trúc tầng. Cùng một request, nhưng giờ nhìn theo chiều dọc: dữ liệu của bạn được bọc dần qua từng tầng (encapsulation) trước khi rời máy, và bóc ngược lại ở máy nhận. Mọi tài liệu mạng về sau đều nói bằng khung khái niệm này.

Bài tổng kết cuối module gom lại thành cheat sheet một trang để bạn bookmark.

Yêu cầu trước khi bắt đầu

  • Biết dùng terminal cơ bản (chạy được một lệnh, đọc output).
  • Đã từng gọi một API hoặc mở một trang web (ai cũng có rồi).
  • Không cần biết trước về mạng — module này là điểm bắt đầu.

Một số bài có lệnh dig, curl, ss để bạn chạy thử. Trên macOS/Linux chúng có sẵn; trên Windows dùng WSL hoặc Git Bash.

Time budget

BàiThời lượng
Tổng quan (bài này)~5 phút
Điều gì xảy ra khi gõ google.com~13 phút
Mô hình TCP/IP 4 tầng~13 phút
Tổng kết & cheat sheet~6 phút
Tổng module~37 phút

Cách học module này hiệu quả

  • Chạy thử mọi lệnh. Đọc về curl -v không bằng gõ nó một lần và nhìn từng chặng hiện ra. Mở terminal song song khi học.
  • Bám bản đồ 5 chặng. Mỗi khi gặp khái niệm mới ở module sau, tự hỏi "cái này thuộc chặng nào?". Khung tư duy quan trọng hơn chi tiết.
  • Đừng cố nhớ hết. Mục tiêu module 1 là nhận diện các chặng, không phải thuộc lòng. Chi tiết từng chặng sẽ lặp lại nhiều lần ở các module sau.

Bài tiếp theo: Điều gì xảy ra khi bạn gõ google.com và nhấn Enter?

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.

Thảo luận & góp ý

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

Bài tiếp theo

Điều gì xảy ra khi bạn gõ google.com và nhấn Enter?