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

Danh sách có thể tìm kiếm mọi mã trạng thái HTTP trong sổ đăng ký IANA (100–511) kèm cụm lý do, RFC định nghĩa và giải thích dễ hiểu khi nào mã được dùng.

64 / 64 mã
  • 100ContinueRFC 9110

    Máy chủ đã nhận header của yêu cầu; máy khách có thể tiếp tục gửi body (phản hồi cho Expect: 100-continue).

  • 101Switching ProtocolsRFC 9110

    Máy chủ đồng ý chuyển giao thức theo header Upgrade, ví dụ sang WebSocket.

  • 102ProcessingRFC 2518

    WebDAV: máy chủ vẫn đang xử lý một yêu cầu dài; chưa có phản hồi.

  • 103Early HintsRFC 8297

    Được gửi trước phản hồi cuối để trình duyệt bắt đầu tải trước các tài nguyên trong header Link.

  • 104Upload Resumption Supporteddraft-ietf-httpbis-resumable-uploadđăng ký tạm thời

    Bản nháp tải lên có thể tiếp tục: máy chủ hỗ trợ tiếp tục các lần tải lên bị gián đoạn.

  • 200OKRFC 9110

    Yêu cầu thành công. Body chứa tài nguyên được yêu cầu hoặc kết quả của thao tác.

  • 201CreatedRFC 9110

    Đã tạo tài nguyên mới; URL của nó thường nằm trong header Location.

  • 202AcceptedRFC 9110

    Yêu cầu đã được chấp nhận để xử lý nhưng chưa xong (tác vụ bất đồng bộ).

  • 203Non-Authoritative InformationRFC 9110

    Thành công, nhưng nội dung trả về đã bị một proxy biến đổi.

  • 204No ContentRFC 9110

    Thành công và không có body phản hồi, thường gặp với DELETE hoặc khi lưu dữ liệu.

  • 205Reset ContentRFC 9110

    Thành công; máy khách nên đặt lại biểu mẫu hoặc màn hình đã gửi yêu cầu.

  • 206Partial ContentRFC 9110

    Chỉ trả về một phần tài nguyên theo header Range (tải tiếp tục, tua video).

  • 207Multi-StatusRFC 4918

    WebDAV: body chứa mã trạng thái riêng cho nhiều tài nguyên.

  • 208Already ReportedRFC 5842

    WebDAV: các thành viên của binding đã được liệt kê ở phần trước của phản hồi này.

  • 226IM UsedRFC 3229

    Mã hóa delta: phản hồi là kết quả của các thao tác áp dụng lên tài nguyên.

  • 300Multiple ChoicesRFC 9110

    Có nhiều biểu diễn khả dụng và máy khách có thể chọn một.

  • 301Moved PermanentlyRFC 9110

    Tài nguyên đã chuyển vĩnh viễn tới URL trong Location; công cụ tìm kiếm chuyển giao thứ hạng. Máy khách có thể đổi POST thành GET.

  • 302FoundRFC 9110

    Tài nguyên tạm thời nằm ở URL khác; hãy tiếp tục dùng URL gốc. Máy khách có thể đổi POST thành GET.

  • 303See OtherRFC 9110

    Truy cập URL khác bằng GET, thường sau khi gửi biểu mẫu (mô hình Post/Redirect/Get).

  • 304Not ModifiedRFC 9110

    Bản lưu trong bộ nhớ đệm vẫn còn hợp lệ (yêu cầu có điều kiện với If-None-Match / If-Modified-Since); không gửi body.

  • 305Use ProxyRFC 9110không còn dùng

    Không còn dùng: tài nguyên phải được truy cập qua proxy. Đã bỏ vì lý do bảo mật.

  • 306(Unused)RFC 9110dành riêng, không sử dụng

    Dành riêng; từng dùng trong một bản nháp cũ, nay không còn sử dụng.

  • 307Temporary RedirectRFC 9110

    Chuyển hướng tạm thời, giữ nguyên phương thức và body (POST vẫn là POST).

  • 308Permanent RedirectRFC 9110

    Chuyển hướng vĩnh viễn, giữ nguyên phương thức và body (POST vẫn là POST).

  • 400Bad RequestRFC 9110

    Máy chủ không xử lý được yêu cầu vì sai định dạng (sai cú pháp, tham số hoặc JSON không hợp lệ).

  • 401UnauthorizedRFC 9110

    Cần xác thực hoặc xác thực thất bại; phản hồi kèm header WWW-Authenticate.

  • 402Payment RequiredRFC 9110

    Dành cho tương lai; một số API dùng cho vấn đề thanh toán hoặc hạn mức.

  • 403ForbiddenRFC 9110

    Máy chủ hiểu yêu cầu nhưng từ chối; đăng nhập lại cũng không giúp được.

  • 404Not FoundRFC 9110

    Không có tài nguyên nào tại URL này (hoặc máy chủ không muốn tiết lộ).

  • 405Method Not AllowedRFC 9110

    Tài nguyên không hỗ trợ phương thức HTTP này; header Allow liệt kê các phương thức hợp lệ.

  • 406Not AcceptableRFC 9110

    Không có biểu diễn nào khớp với header Accept của máy khách.

  • 407Proxy Authentication RequiredRFC 9110

    Giống 401 nhưng cần xác thực với proxy.

  • 408Request TimeoutRFC 9110

    Máy khách gửi yêu cầu quá lâu nên máy chủ đã đóng kết nối.

  • 409ConflictRFC 9110

    Yêu cầu xung đột với trạng thái hiện tại của tài nguyên (ví dụ xung đột chỉnh sửa, trùng lặp).

  • 410GoneRFC 9110

    Tài nguyên đã bị xóa vĩnh viễn và sẽ không quay lại; rõ ràng hơn 404.

  • 411Length RequiredRFC 9110

    Máy chủ yêu cầu header Content-Length.

  • 412Precondition FailedRFC 9110

    Không thỏa điều kiện tiên quyết như If-Match hoặc If-Unmodified-Since (khóa lạc quan).

  • 413Content Too LargeRFC 9110

    Body yêu cầu lớn hơn mức máy chủ chấp nhận (giới hạn kích thước tải lên).

  • 414URI Too LongRFC 9110

    URL dài hơn mức máy chủ xử lý được.

  • 415Unsupported Media TypeRFC 9110

    Không hỗ trợ kiểu dữ liệu của body (Content-Type).

  • 416Range Not SatisfiableRFC 9110

    Không đáp ứng được Range được yêu cầu, ví dụ bắt đầu sau cuối tệp.

  • 417Expectation FailedRFC 9110

    Không đáp ứng được kỳ vọng trong header Expect.

  • 418(Unused)RFC 9110dành riêng, không sử dụng

    Dành riêng, không sử dụng; nổi tiếng từ trò đùa Cá tháng Tư "I’m a teapot" trong RFC 2324.

  • 421Misdirected RequestRFC 9110

    Yêu cầu tới một máy chủ không thể trả lời cho host này (ví dụ kết nối HTTP/2 được tái sử dụng).

  • 422Unprocessable ContentRFC 9110

    Cú pháp đúng nhưng nội dung không hợp lệ về ngữ nghĩa (lỗi kiểm tra dữ liệu).

  • 423LockedRFC 4918

    WebDAV: tài nguyên đang bị khóa.

  • 424Failed DependencyRFC 4918

    WebDAV: yêu cầu thất bại vì một thao tác mà nó phụ thuộc đã thất bại.

  • 425Too EarlyRFC 8470

    Máy chủ từ chối xử lý yêu cầu có thể bị phát lại (early data của TLS 1.3).

  • 426Upgrade RequiredRFC 9110

    Máy khách phải chuyển sang giao thức khác được liệt kê trong header Upgrade.

  • 428Precondition RequiredRFC 6585

    Máy chủ yêu cầu yêu cầu có điều kiện (If-Match) để tránh mất cập nhật.

  • 429Too Many RequestsRFC 6585

    Quá nhiều yêu cầu trong một khoảng thời gian (giới hạn tần suất); Retry-After cho biết khi nào thử lại.

  • 431Request Header Fields Too LargeRFC 6585

    Header của yêu cầu (hoặc một header như cookie) quá lớn.

  • 451Unavailable For Legal ReasonsRFC 7725

    Tài nguyên không khả dụng vì lý do pháp lý, như lệnh của tòa án hoặc kiểm duyệt.

  • 500Internal Server ErrorRFC 9110

    Lỗi chung, không lường trước ở máy chủ.

  • 501Not ImplementedRFC 9110

    Máy chủ không hỗ trợ chức năng cần thiết (ví dụ phương thức không xác định).

  • 502Bad GatewayRFC 9110

    Gateway hoặc proxy nhận phản hồi không hợp lệ từ máy chủ phía trên.

  • 503Service UnavailableRFC 9110

    Máy chủ tạm thời quá tải hoặc đang bảo trì; có thể gửi kèm Retry-After.

  • 504Gateway TimeoutRFC 9110

    Gateway hoặc proxy không nhận được phản hồi kịp thời từ máy chủ phía trên.

  • 505HTTP Version Not SupportedRFC 9110

    Không hỗ trợ phiên bản HTTP được dùng trong yêu cầu.

  • 506Variant Also NegotiatesRFC 2295

    Cấu hình thương lượng nội dung sai: biến thể được chọn lại tự thương lượng.

  • 507Insufficient StorageRFC 4918

    WebDAV: máy chủ không đủ dung lượng lưu trữ để hoàn tất yêu cầu.

  • 508Loop DetectedRFC 5842

    WebDAV: máy chủ phát hiện vòng lặp vô hạn khi xử lý yêu cầu.

  • 510Not Extended (OBSOLETED)RFC 2774không còn dùng

    Đã lỗi thời: yêu cầu cần thêm phần mở rộng (HTTP Extension Framework).

  • 511Network Authentication RequiredRFC 6585

    Máy khách cần xác thực để truy cập mạng, ví dụ cổng đăng nhập Wi-Fi.

Toàn bộ mã trong sổ đăng ký mã trạng thái HTTP của IANA, kèm RFC định nghĩa từng mã. Cụm lý do được giữ nguyên tiếng Anh vì đó là cách chúng được truyền trên mạng. Không bao gồm các mã chưa đăng ký mà một số sản phẩm tự dùng (ví dụ 499, 520–527).

Mã trạng thái HTTP là gì?

Bảng tra cứu đầy đủ, có thể tìm kiếm, gồm cả 64 mã trạng thái HTTP đã đăng ký với IANA, từ 100 Continue đến 511 Network Authentication Required. Mỗi mục hiển thị cụm lý do chính thức, RFC định nghĩa mã đó và giải thích ngắn về ý nghĩa cũng như khi nào máy chủ gửi nó; các mã đã lỗi thời và không sử dụng được đánh dấu.

Cách sử dụng Mã trạng thái HTTP

  1. Nhập một mã (404), một phần của mã (30) hoặc một từ (chuyển hướng, hết thời gian) vào ô tìm kiếm.
  2. Lọc theo nhóm: 1xx thông tin, 2xx thành công, 3xx chuyển hướng, 4xx lỗi phía máy khách, 5xx lỗi phía máy chủ.
  3. Đọc cụm lý do, RFC và phần giải thích của từng mã.

Ví dụ

Đầu vào
418
Đầu ra
418 (Unused) · RFC 9110 · reserved and unused; known from the "I’m a teapot" April Fools’ RFC 2324.

Khi nào nên dùng Mã trạng thái HTTP

Dùng công cụ khi gỡ lỗi API, đọc log máy chủ hoặc chọn mã trạng thái trả về cho endpoint của bạn. Các mã không chính thức của một số sản phẩm (Nginx 499, Cloudflare 520–527, IIS 440) không có trong sổ đăng ký nên không được liệt kê.

Mã trạng thái HTTP hoạt động như thế nào

Danh sách phản ánh Sổ đăng ký mã trạng thái HTTP của IANA, mà từ năm 2022 phần lớn được định nghĩa bởi RFC 9110 (HTTP Semantics) cùng các phần mở rộng như WebDAV (RFC 4918) và RFC 6585. Việc tìm kiếm khớp theo tiền tố mã, cụm lý do tiếng Anh và phần giải thích bằng ngôn ngữ hiện tại, tất cả diễn ra cục bộ.

Các Trường Hợp Sử Dụng Phổ Biến

  • Chọn giữa 401 và 403, hoặc 400 và 422, cho một lỗi API.
  • Tra mã 425 Too Early hoặc 421 Misdirected Request gặp trong log.
  • Giải thích cho khách hàng vì sao 410 Gone tốt hơn 404 với trang đã bị xóa.
  • Chọn 307 hoặc 308 khi chuyển hướng cần giữ nguyên phương thức POST.

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

401 và 403 khác nhau thế nào?

401 nghĩa là chưa xác thực (hoặc thông tin xác thực sai) và đi kèm header WWW-Authenticate. 403 nghĩa là máy chủ biết bạn là ai nhưng bạn không được phép.

418 I'm a teapot có phải mã trạng thái thật không?

Mã này được dành riêng trong sổ đăng ký và được RFC 9110 liệt kê là không sử dụng, vì có quá nhiều thư viện đã cài đặt nó theo RFC đùa Cá tháng Tư năm 1998.

Vì sao 422 giờ được gọi là Unprocessable Content?

RFC 9110 đã chuyển mã này từ WebDAV vào HTTP lõi và đổi tên từ Unprocessable Entity.

Khám phá thêm danh mục