net/http Deep — minh họa tương tác
Ba module: vòng đời request/response trong Go runtime, middleware chain theo mô hình củ hành (onion), và bài tập chọn status code đúng cho từng tình huống thật.
Module 1 Vòng đời Request / Response
Bấm "Chạy từng bước" hoặc "Tự động" để xem một request GET /users/42 đi qua 6 bước trong net/http: từ Accept tới khi flush response và quyết định keep-alive.
Bấm để bắt đầu — request chưa tới.
Mỗi connection chạy trong một goroutine riêng (~2KB stack ban đầu). 10k request đồng thời ≈ 20MB — Go scale tốt.
Module 2 Middleware Chain — mô hình củ hành
Chain Logger(Auth(Recover(Handler))). Request đi từ ngoài vào trong (before), tới Handler, rồi response đi ngược ra ngoài (after). Mỗi lớp bọc lớp trong — đó là lý do gọi là "onion model".
Bấm "Gửi request" để xem thứ tự thực thi từng lớp.
Module 3 Status Code Picker
Đọc tình huống, chọn status code phù hợp nhất. Bấm xong sẽ hiện đúng/sai kèm giải thích. 12 tình huống thực tế.
Tình huống 1 / 12
…