Lập Trình

Tra cứu mã trạng thái HTTP

Tra cứu bất kỳ mã trạng thái HTTP nào — 200, 404, 500 và mọi thứ ở giữa — với giải thích đơn giản về ý nghĩa của nó và khi nào máy chủ trả về mã đó.

Công cụ này có hữu ích với bạn không?

Tra cứu mã trạng thái HTTP là gì?

Mã trạng thái HTTP là các số có ba chữ số mà máy chủ web gửi kèm trong mọi phản hồi, cho máy khách (trình duyệt, ứng dụng hoặc người tiêu dùng API) biết yêu cầu đã thành công, cần chuyển hướng hay thất bại — và tại sao. Chúng được chuẩn hóa bởi IETF và được dùng giống hệt nhau trên mọi máy chủ web, trình duyệt và ngôn ngữ lập trình, khiến chúng trở thành một trong những tài liệu tham khảo gỡ lỗi phổ quát nhất trong phát triển phần mềm. Công cụ tra cứu này bao phủ các mã thường gặp nhất trong cả năm danh mục — thông báo (1xx), thành công (2xx), chuyển hướng (3xx), lỗi máy khách (4xx) và lỗi máy chủ (5xx) — với giải thích đơn giản về ý nghĩa thực tế của từng mã, không chỉ là định nghĩa RFC chính thức.

Khi Nào Nên Sử Dụng Máy Tính Này

  • Gỡ lỗi tích hợp API khi một yêu cầu thất bại và bạn cần hiểu mã trạng thái thực sự có ý nghĩa gì
  • Quyết định mã trạng thái HTTP nào để trả về từ API của chính bạn cho một điều kiện lỗi cụ thể
  • Giảng dạy hoặc học các kiến thức cơ bản về HTTP trong khóa học hoặc trại huấn luyện phát triển web
  • Viết phần mềm trung gian xử lý lỗi cần phân biệt giữa các trường hợp 4xx và 5xx khác nhau
  • Điều tra lý do một chuyển hướng không hoạt động bằng cách kiểm tra xem đã trả về 301 hay 302
  • Khắc phục sự cố CORS khi trình duyệt hiển thị lỗi mạng nhưng máy chủ đã trả về 200

Các bước:

  1. Nhập mã trạng thái (như 404) hoặc từ khóa (như "forbidden") vào ô tìm kiếm.
  2. Lọc theo danh mục bằng các nút 1xx-5xx nếu bạn muốn duyệt một dải cụ thể.
  3. Đọc giải thích đơn giản về ý nghĩa của mã và khi nào mã thường được trả về.
  4. Dùng công cụ này làm tài liệu tham khảo nhanh khi gỡ lỗi phản hồi API hoặc xây dựng logic xử lý lỗi.

Công Thức

1xx: Thông báo — đã nhận yêu cầu, đang tiếp tục xử lý 2xx: Thành công — yêu cầu đã được nhận và chấp nhận thành công 3xx: Chuyển hướng — cần hành động tiếp theo để hoàn tất yêu cầu 4xx: Lỗi máy khách — yêu cầu chứa cú pháp sai hoặc không thể xử lý 5xx: Lỗi máy chủ — máy chủ không thể xử lý một yêu cầu hợp lệ

Trường Hợp Sử Dụng

  • Nhanh chóng hiểu một mã trạng thái lạ do API bạn đang tích hợp trả về
  • Quyết định mã trạng thái nào để trả về từ API của chính bạn cho một điều kiện lỗi nhất định
  • Gỡ lỗi lý do một yêu cầu thất bại bằng cách kiểm tra mã cụ thể thực sự ngụ ý gì
  • Giảng dạy hoặc học các kiến thức cơ bản về HTTP trong khóa học phát triển web
  • Viết logic xử lý lỗi chính xác phân biệt giữa các trường hợp 4xx và 5xx khác nhau

Lợi Ích Chính

  • Mọi mã trạng thái thường dùng trong một tài liệu tham khảo tìm kiếm được
  • Giải thích đơn giản, không chỉ là thuật ngữ RFC chính thức
  • Lọc ngay theo danh mục (từ 1xx đến 5xx)
  • Miễn phí, nhanh chóng, không cần đăng ký

Mẹo Chuyên Nghiệp

  • Chỉ dành mã 5xx cho các lỗi phía máy chủ — không bao giờ dùng chúng để báo hiệu lỗi đầu vào của máy khách
  • Dùng 429 kèm tiêu đề Retry-After khi giới hạn tốc độ, để các máy khách hoạt động đúng biết khi nào nên thử lại
  • Ưu tiên 404 thay vì trang lỗi chung khi một tài nguyên thực sự không tồn tại — tốt hơn cho cả người dùng lẫn công cụ tìm kiếm
  • Khi thiết kế API, hãy chọn mã 4xx cụ thể (422, 409, 400) thay vì mặc định dùng 400 chung cho mọi thứ

Những Lỗi Thường Gặp Cần Tránh

  • Trả về 200 OK cho một yêu cầu thực sự thất bại, che giấu lỗi khỏi các công cụ giám sát
  • Nhầm lẫn 401 (chưa xác thực) với 403 (đã xác thực nhưng không được phép)
  • Dùng 302 cho chuyển hướng đáng lẽ phải cố định (301), gây hại cho SEO
  • Xử lý tất cả lỗi 4xx và 5xx như nhau trong logic xử lý lỗi phía máy khách thay vì phân nhánh theo mã cụ thể

Các Thuật Ngữ Chính Được Giải Thích

Dòng trạng thái: Dòng đầu tiên của phản hồi HTTP, chứa mã trạng thái và một cụm từ lý do ngắn
Idempotent: Một thuộc tính của một số phương thức HTTP trong đó việc lặp lại cùng một yêu cầu có tác dụng tương tự như thực hiện một lần
Chuỗi chuyển hướng: Một chuỗi gồm nhiều chuyển hướng mà trình duyệt đi qua trước khi đạt đến tài nguyên cuối cùng
Giới hạn tốc độ: Hạn chế số yêu cầu mà một máy khách có thể gửi trong một khoảng thời gian nhất định, thường được biểu thị bằng 429

Khái niệm liên quan

Ví Dụ

Tìm kiếm "429" trả về "Too Many Requests" — mã mà các API trả về khi bạn vượt quá giới hạn tốc độ, cho bạn biết hãy chậm lại và thử lại sau một khoảng trễ.

Giải thích kết quả của bạn

Mã trạng thái HTTP được nhóm thành năm lớp theo chữ số đầu tiên. 1xx mang tính thông báo và hiếm khi xuất hiện trong mã ứng dụng. 2xx xác nhận thành công — 200 OK phổ biến nhất, nhưng 201 Created và 204 No Content cũng thường gặp trong REST API. 3xx xử lý chuyển hướng, với 301 (vĩnh viễn) và 302 (tạm thời) là quan trọng nhất. Lỗi 4xx cho biết có gì đó không ổn với yêu cầu của máy khách. Phổ biến nhất là 400 Bad Request (cú pháp sai), 401 Unauthorized (chưa xác thực), 403 Forbidden (không được phép), 404 Not Found (tài nguyên không tồn tại) và 429 Too Many Requests (vượt quá giới hạn tốc độ). Việc dùng đúng các mã 4xx cụ thể khiến API của bạn dễ gỡ lỗi hơn nhiều so với trả về 400 chung cho mọi thứ. Lỗi 5xx nghĩa là máy chủ đã thất bại. 500 là lỗi nội bộ chung, 502 Bad Gateway cho biết sự cố ở máy chủ phía trên, còn 503 Service Unavailable thường nghĩa là máy chủ quá tải hoặc ngừng bảo trì. Khi gỡ lỗi lỗi 5xx, hãy kiểm tra nhật ký máy chủ thay vì phản hồi phía máy khách, vì chỉ riêng mã trạng thái hiếm khi lộ ra nguyên nhân gốc.

Câu Hỏi Thường Gặp

Các dải mã trạng thái HTTP khác nhau có ý nghĩa gì?
Mã 1xx mang tính thông báo, 2xx nghĩa là thành công, 3xx biểu thị chuyển hướng, 4xx nghĩa là máy khách đã gây ra lỗi (như yêu cầu một trang không tồn tại) và 5xx nghĩa là bản thân máy chủ không thể xử lý một yêu cầu hợp lệ.
Sự khác biệt giữa 401 và 403 là gì?
401 Unauthorized nghĩa là bạn chưa xác thực (hoặc thông tin đăng nhập của bạn không hợp lệ) — máy chủ không biết bạn là ai. 403 Forbidden nghĩa là máy chủ biết bạn là ai nhưng bạn không có quyền truy cập tài nguyên.
Tại sao đôi khi tôi thấy 200 cho một trang rõ ràng không tải được?
Điều này thường nghĩa là máy chủ đã trả về một phản hồi HTTP hợp lệ (do đó là 200 OK) nhưng nội dung ở cấp ứng dụng của phản hồi đó mô tả một lỗi — một mẫu phổ biến trong các API đặt chi tiết lỗi vào phần thân phản hồi thay vì mã trạng thái.
Sự khác biệt giữa chuyển hướng 301 và 302 là gì?
301 Moved Permanently bảo trình duyệt và công cụ tìm kiếm cập nhật bản ghi của chúng và sử dụng URL mới về sau. 302 Found biểu thị chuyển hướng tạm thời — URL ban đầu vẫn nên được dùng cho các yêu cầu trong tương lai.
429 Too Many Requests nghĩa là gì?
429 cho biết máy khách đã gửi quá nhiều yêu cầu trong một khoảng thời gian nhất định. Máy chủ có thể kèm tiêu đề Retry-After cho biết khi nào nên thử lại. Hãy triển khai backoff theo cấp số nhân khi gặp mã này.
503 Service Unavailable là gì?
503 nghĩa là máy chủ tạm thời không thể xử lý yêu cầu, thường do quá tải hoặc bảo trì. Không giống như 500, trạng thái này được kỳ vọng sẽ được giải quyết. Máy chủ có thể kèm tiêu đề Retry-After.
418 I'm a Teapot nghĩa là gì?
418 được định nghĩa như một trò đùa ngày Cá tháng Tư trong RFC 2324 (1998). Đây là một mã trạng thái có thật, dù hiếm khi được dùng trên thực tế. Một số máy chủ trả về mã này như phản hồi hài hước cho các yêu cầu không hợp lệ.
404 Not Found là gì?
404 nghĩa là máy chủ không thể tìm thấy tài nguyên được yêu cầu. Đây là lỗi máy khách phổ biến nhất. Nó có thể cho thấy một liên kết hỏng, một URL gõ sai hoặc một tài nguyên đã bị di chuyển hoặc xóa.
CORS liên quan gì đến mã trạng thái?
Các yêu cầu preflight của CORS (Cross-Origin Resource Sharing) trả về 204 No Content khi thành công. Nếu máy chủ không phản hồi với tiêu đề CORS đúng, trình duyệt sẽ chặn phản hồi ngay cả khi trạng thái là 200, xuất hiện như một lỗi mạng trong bảng điều khiển.
Làm cách nào để tra cứu một mã trạng thái?
Nhập mã số (như 404) hoặc từ khóa (như 'forbidden' hoặc 'timeout') vào ô tìm kiếm. Bạn cũng có thể lọc theo danh mục bằng các nút 1xx–5xx để duyệt một dải cụ thể.
Phản hồi 204 No Content là gì?
204 cho biết yêu cầu đã thành công nhưng không có nội dung nào để trả về. Mã này thường được dùng sau một yêu cầu DELETE thành công, cho phản hồi preflight CORS hoặc khi API tiếp nhận dữ liệu mà không trả về phần thân.

Khám Phá Thêm Công Cụ

Những công cụ mới được chọn lọc từ thư viện của chúng tôi.