HTTP Status Code là gì? Bảng mã 1xx - 5xx chi tiết cho SEO

Nhiều người chỉ thực sự chú ý đến HTTP Status Code khi bắt gặp lỗi 404, 500 hoặc các chuỗi chuyển hướng trong Google Search Console, DevTools hoặc các công cụ crawl website. Vấn đề là các mã này nhìn quen nhưng không phải ai cũng hiểu đúng bản chất. Bài viết dưới đây giúp bạn nắm nhanh HTTP response codes, cách chia 5 nhóm 1xx–5xx, các mã phổ biến như 200, 301, 302, 404, 500, 503, cùng một bảng tra cứu gọn để áp dụng vào SEO và vận hành website mà không cần đi quá sâu vào kỹ thuật backend.

Ngày đăng: 07.07.2026, lúc 10:395 lượt xemLuân Vũ
HTTP Status Code là gì? Bảng mã 1xx - 5xx chi tiết cho SEO

HTTP Status Code là gì? Danh sách mã trạng thái HTTP và cách hiểu nhanh 1xx–5xx

HTTP status code là gì?

HTTP status code là mã phản hồi 3 chữ số do server gửi về trong HTTP response để cho biết một request đã thành công, cần chuyển hướng, hay gặp lỗi. Đây là ngôn ngữ chuẩn để trình duyệt, bot tìm kiếm và các công cụ kỹ thuật hiểu trạng thái thực tế của một URL trong quá trình trao đổi giữa client và server.

Khi bạn mở một trang web, trình duyệt sẽ gửi một HTTP request đến server. Sau đó server trả lại HTTP response, trong đó có mã trạng thái. Mã này là phần tóm tắt nhanh của toàn bộ kết quả trong chu trình yêu cầu - phản hồi.

Cách một request nhận phản hồi

Hiểu đơn giản, quy trình diễn ra như sau:

  1. Client gửi request đến một URL.
  2. Server nhận request và xử lý.
  3. Server trả về response.
  4. Response chứa HTTP status code để báo kết quả.

Ví dụ:

  • Bạn truy cập một URL bình thường, server có thể trả 200 OK.
  • Bạn truy cập một trang không còn tồn tại, server có thể trả 404 Not Found.
  • Server đang gặp sự cố nội bộ, phản hồi có thể là 500 Internal Server Error.
Sơ đồ request response và http status code

Theo chuẩn hiện hành, ngữ nghĩa của các mã trạng thái HTTP được tham chiếu chủ yếu từ RFC 9110. Tuy nhiên, với người quản trị website phổ thông, bạn không cần học sâu toàn bộ tài liệu chuẩn này.

Vì sao cần hiểu HTTP status code?

Việc hiểu HTTP response codes đặc biệt hữu ích cho 3 nhóm người đọc sau:

  • Người làm SEO: Cần đọc đúng trạng thái URL để xử lý crawl, index, redirect và soft 404.
  • Website owner: Cần phát hiện trang lỗi, downtime, lỗi bảo trì hoặc cấu hình sai.
  • Người dùng API cơ bản: Cần biết request đã thành công, bị từ chối hay lỗi hệ thống.

Trong thực tế audit website, các mã 301, 404 và 500 thường là nhóm xuất hiện nhiều nhất. Nhiều vấn đề tưởng như do nội dung, nhưng khi kiểm tra kỹ trong báo cáo kỹ thuật thì nguyên nhân lại nằm ở phản hồi HTTP của URL.

Tóm tắt nhanh:

  • HTTP status code là mã 3 chữ số do server trả về.
  • Mã này cho biết kết quả của một request.
  • Bạn không cần nhớ hết mọi mã, nhưng nên nắm các mã phổ biến nhất.

5 nhóm HTTP status code và cách hiểu nhanh

Mọi mã trạng thái HTTP đều có thể được hiểu nhanh qua chữ số đầu tiên. Đây là cách đơn giản nhất để đọc một mã lạ mà không bị rối.

  1. 1xx – Thông tin, phản hồi trung gian.
  2. 2xx – Thành công.
  3. 3xx – Chuyển hướng.
  4. 4xx – Lỗi phía client.
  5. 5xx – Lỗi phía server.

Bảng tóm tắt 5 nhóm

bảng phân loại 5 nhóm http status code 1xx 2xx 3xx 4xx 5xx

Nhóm mã

Ý nghĩa

Ví dụ tiêu biểu

1xx

Phản hồi thông tin, đang xử lý

100 Continue

2xx

Request thành công

200 OK

3xx

Cần chuyển hướng hoặc dùng bản cache

301 Moved Permanently

4xx

Vấn đề ở request, quyền truy cập hoặc tài nguyên

404 Not Found

5xx

Vấn đề từ phía server hoặc hạ tầng

500 Internal Server Error

Điểm quan trọng nhất là phân biệt:

  • 4xx = client-side error: Vấn đề nằm ở request, quyền truy cập, endpoint hoặc tài nguyên được yêu cầu.
  • 5xx = server-side error: vấn đề nằm ở server, gateway hoặc hạ tầng xử lý.

Cách nhớ nhanh 5 nhóm mã

Nếu chỉ cần nhớ nhanh, hãy hiểu như sau:

  • 2xx = ổn, request thành công.
  • 3xx = URL đang được redirect hoặc dùng lại bản đã có.
  • 4xx = request có vấn đề, hoặc tài nguyên không truy cập được.
  • 5xx = server gặp lỗi hoặc tạm thời không đáp ứng được.
  • Khi gặp mã lạ, hãy nhìn chữ số đầu tiên trước.

Trong vận hành website thực tế, bạn sẽ hiếm khi phải quan tâm sâu đến 1xx. Phần lớn công việc hàng ngày xoay quanh 2xx, 3xx, 4xx 5xx, đặc biệt là khi đọc báo cáo crawl hoặc kiểm tra lỗi từ search engine.

Các HTTP status code phổ biến nhất bạn nên nhớ trước

Bạn không cần học thuộc toàn bộ danh sách mã. Với website phổ thông, SEO và API cơ bản, chỉ cần nắm nhóm mã dưới đây là đã đủ xử lý phần lớn tình huống thực tế.

Nhóm 2xx thường gặp

  • 200 OK: Request thành công và server trả về nội dung như mong đợi. Đây là mã bạn sẽ thấy ở hầu hết các trang hoạt động bình thường.
  • 201 Created: Request thành công và một tài nguyên mới đã được tạo. Mã này hay gặp trong API sau thao tác tạo dữ liệu.
  • 204 No Content: Request thành công nhưng không có nội dung trả về. Thường thấy ở một số thao tác cập nhật hoặc xóa dữ liệu.

Khi nào thường thấy:

  • 200 ở trang web đang hoạt động bình thường
  • 201 ở API tạo bản ghi mới
  • 204 ở hành động thành công nhưng không cần body phản hồi

Nhóm 3xx thường gặp

  • 301 Moved Permanently: URL đã chuyển vĩnh viễn sang địa chỉ mới.
  • 302 Found: URL chỉ chuyển tạm thời.
  • 304 Not Modified: Nội dung chưa thay đổi, client có thể dùng lại bản cache.
  • 307 Temporary Redirect: Chuyển hướng tạm thời và giữ nguyên method.
  • 308 Permanent Redirect: Chuyển hướng vĩnh viễn và giữ nguyên method.

Với website và SEO, cặp dễ nhầm nhất là 301 và 302.

Ý nghĩa

Khi nào dùng

301

Chuyển hướng vĩnh viễn.

Trang cũ đã đổi hẳn sang URL mới.

302

Chuyển hướng tạm thời.

Chuyển hướng ngắn hạn, thử nghiệm, chiến dịch tạm thời.

307

Redirect tạm thời, giữ method.

Cần chuyển hướng nhưng không muốn đổi method request.

308

Redirect vĩnh viễn, giữ method.

Tương tự 301 nhưng chặt chẽ hơn về method.

Điểm khác nhau ngắn gọn:

  • 301 phù hợp khi thay đổi là lâu dài.
  • 302 phù hợp khi thay đổi chỉ là tạm thời.
  • Trong API hiện đại, 307308 thường được ưu tiên hơn khi cần giữ nguyên method gốc.

Nhóm 4xx thường gặp

  • 400 Bad Request: Request sai cú pháp, thiếu dữ liệu hoặc dữ liệu không hợp lệ ở mức cơ bản.
  • 401 Unauthorized: Chưa xác thực hợp lệ. Hiểu ngắn gọn là “bạn chưa chứng minh được mình là ai”.
  • 403 Forbidden: Server hiểu request nhưng từ chối quyền truy cập. Hiểu ngắn gọn là “server biết bạn là ai nhưng không cho vào”.
  • 404 Not Found: Không tìm thấy tài nguyên được yêu cầu.
  • 410 Gone: Tài nguyên đã bị xóa hẳn và không còn nữa.
  • 429 Too Many Requests: Gửi quá nhiều request trong một khoảng thời gian, thường liên quan đến giới hạn truy cập.

Hai cặp rất dễ nhầm:

401 vs 403

  • 401: Thiếu hoặc sai xác thực.
  • 403: Đã xác thực nhưng không có quyền.

404 vs 410

  • 404: Không tìm thấy.
  • 410: Đã xóa vĩnh viễn, có chủ đích rõ ràng hơn.

Trong API thực tế gần đây, nhiều hệ thống cũng phân biệt rõ 400 Bad Request422 Unprocessable Content. Hiểu ngắn gọn:

  • 400: Request sai định dạng hoặc thiếu trường cơ bản.
  • 422: Request đúng cú pháp nhưng không hợp lệ về mặt logic nghiệp vụ.

Nhóm 5xx thường gặp

  • 500 Internal Server Error: Lỗi nội bộ chung từ phía server. Đây là mã “có gì đó sai nhưng server không xử lý được”.
  • 502 Bad Gateway: Server trung gian nhận phản hồi không hợp lệ từ upstream.
  • 503 Service Unavailable: Server tạm thời không sẵn sàng, thường do bảo trì hoặc quá tải.
  • 504 Gateway Timeout: Gateway hoặc proxy không nhận được phản hồi kịp thời từ upstream.

Cặp cần phân biệt rõ nhất là 500 vs 503:

  • 500: Lỗi nội bộ, thường không báo trước.
  • 503: Tạm thời không khả dụng, thường dùng khi bảo trì hoặc quá tải.

Trong thực tế vận hành, nếu website đang bảo trì mà vẫn trả 200 hoặc 500 thay vì 503, cả người dùng lẫn bot tìm kiếm đều nhận tín hiệu không chính xác.

Bảng so sánh 4 cặp mã dễ nhầm

Danh sách HTTP status code theo từng nhóm để tra cứu nhanh

Đây là danh sách HTTP status codes để tra cứu nhanh, giúp bạn quét mã theo nhóm, không phải học sâu toàn bộ chuẩn. Tên hiển thị sau mã còn được gọi là reason phrase. Danh sách dưới đây bám theo chuẩn hiện hành như RFC 9110, đồng thời gắn nhãn các mã phổ biến, ít gặp hoặc đặc thù như WebDAV.

Nhóm 1xx

Nhóm này là phản hồi trung gian, ít gặp với người dùng phổ thông.

  • 100 Continue - Server đã nhận phần đầu request, có thể tiếp tục gửi. (Ít gặp)
  • 101 Switching Protocols - Server đồng ý chuyển giao thức. (Ít gặp)
  • 102 Processing - Đang xử lý request. (WebDAV, ít gặp)
  • 103 Early Hints - Gửi trước một số header để chuẩn bị tải tài nguyên. (Nâng cao)

Nhóm 2xx

  • 200 OK - Request thành công. (Phổ biến)
  • 201 Created - Đã tạo tài nguyên mới. (Phổ biến)
  • 202 Accepted - Đã nhận request nhưng chưa xử lý xong. (Khá phổ biến trong API async)
  • 203 Non-Authoritative Information - Metadata phản hồi không hoàn toàn từ nguồn gốc. (Ít gặp)
  • 204 No Content - Thành công nhưng không có nội dung trả về. (Phổ biến)
  • 205 Reset Content - Yêu cầu client reset nội dung hiển thị. (Ít gặp)
  • 206 Partial Content - Chỉ trả về một phần tài nguyên. (Khá phổ biến trong tải từng phần)
  • 207 Multi-Status - Một response chứa nhiều trạng thái. (WebDAV)
  • 208 Already Reported - Tránh lặp thông tin đã báo trước đó. (WebDAV)
  • 226 IM Used - Response là kết quả của thao tác biến đổi trên thực thể hiện tại. (Ít gặp)

Nhóm 3xx

  • 300 Multiple Choices - Có nhiều lựa chọn tài nguyên. (Ít gặp)
  • 301 Moved Permanently - Chuyển hướng vĩnh viễn. (Phổ biến)
  • 302 Found - Chuyển hướng tạm thời. (Phổ biến)
  • 303 See Other - Chuyển sang URL khác bằng request GET. (Khá phổ biến trong một số luồng form/API)
  • 304 Not Modified - Chưa thay đổi, có thể dùng cache. (Phổ biến)
  • 305 Use Proxy - Đã cũ, không còn dùng phổ biến. (Deprecated)
  • 306 Unused - Mã được giữ chỗ, không dùng. (Reserved)
  • 307 Temporary Redirect - Redirect tạm thời, giữ method. (Khá phổ biến)
  • 308 Permanent Redirect - Redirect vĩnh viễn, giữ method. (Khá phổ biến)

Nhóm 4xx

  • 400 Bad Request - Request không hợp lệ. (Phổ biến)
  • 401 Unauthorized - Thiếu hoặc sai xác thực. (Phổ biến)
  • 402 Payment Required - Dành chỗ cho tương lai, rất ít dùng. (Ít gặp)
  • 403 Forbidden - Bị từ chối truy cập. (Phổ biến)
  • 404 Not Found - Không tìm thấy tài nguyên. (Rất phổ biến)
  • 405 Method Not Allowed - Method không được hỗ trợ cho tài nguyên này. (Phổ biến)
  • 406 Not Acceptable - Không có nội dung phù hợp với tiêu chí chấp nhận. (Ít gặp)
  • 407 Proxy Authentication Required - Cần xác thực qua proxy. (Ít gặp)
  • 408 Request Timeout - Server chờ request quá lâu. (Phổ biến vừa phải)
  • 409 Conflict - Xung đột với trạng thái hiện tại của tài nguyên. (Khá phổ biến trong API)
  • 410 Gone - Tài nguyên đã bị xóa hẳn. (Quan trọng với SEO)
  • 411 Length Required - Thiếu Content-Length. (Ít gặp)
  • 412 Precondition Failed - Không đáp ứng điều kiện tiên quyết. (Ít gặp)
  • 413 Content Too Large - Nội dung gửi lên quá lớn. (Khá phổ biến)
  • 414 URI Too Long - URL quá dài. (Ít gặp)
  • 415 Unsupported Media Type - Kiểu dữ liệu không được hỗ trợ. (Khá phổ biến trong API)
  • 416 Range Not Satisfiable - Phạm vi yêu cầu không hợp lệ. (Ít gặp)
  • 417 Expectation Failed - Không đáp ứng được Expect. (Ít gặp)
  • 418 I'm a teapot - Mã đùa nổi tiếng, giá trị thực tiễn thấp. (Hiếm)
  • 421 Misdirected Request - Request gửi nhầm server không thể phản hồi. (Ít gặp)
  • 422 Unprocessable Content - Đúng cú pháp nhưng không xử lý được về mặt logic. (Khá phổ biến trong API)
  • 423 Locked - Tài nguyên đang bị khóa. (WebDAV)
  • 424 Failed Dependency - Thất bại vì phụ thuộc vào request khác. (WebDAV)
  • 425 Too Early - Server chưa sẵn sàng xử lý request có rủi ro bị phát lại. (Nâng cao)
  • 426 Upgrade Required - Cần nâng cấp giao thức. (Ít gặp)
  • 428 Precondition Required - Server yêu cầu request có điều kiện. (Ít gặp)
  • 429 Too Many Requests - Gửi quá nhiều request. (Phổ biến)
  • 431 Request Header Fields Too Large - Header quá lớn. (Ít gặp)
  • 451 Unavailable For Legal Reasons - Không thể cung cấp vì lý do pháp lý. (Ít gặp nhưng đáng chú ý)

Nhóm 5xx

  • 500 Internal Server Error - Lỗi nội bộ chung. (Rất phổ biến)
  • 501 Not Implemented - Server chưa hỗ trợ chức năng hoặc method đó. (Ít gặp)
  • 502 Bad Gateway - Nhận phản hồi lỗi từ upstream. (Phổ biến)
  • 503 Service Unavailable - Tạm thời không khả dụng. (Rất phổ biến)
  • 504 Gateway Timeout - Upstream phản hồi quá chậm hoặc không phản hồi. (Phổ biến)
  • 505 HTTP Version Not Supported - Không hỗ trợ phiên bản HTTP này. (Ít gặp)
  • 506 Variant Also Negotiates - Lỗi thương lượng nội dung. (Hiếm)
  • 507 Insufficient Storage - Không đủ dung lượng lưu trữ để hoàn thành request. (WebDAV)
  • 508 Loop Detected - Phát hiện vòng lặp vô hạn khi xử lý. (WebDAV)
  • 510 Not Extended - Cần thêm phần mở rộng cho request. (Hiếm)
  • 511 Network Authentication Required - Cần xác thực để truy cập mạng. (Ít gặp)

Không phải mã nào trong danh sách trên cũng quan trọng như nhau. Với người quản trị website phổ thông, bạn nên tập trung trước vào 200, 301, 302, 404, 410, 429, 500, 502, 503, 504.

Những HTTP status code quan trọng nhất với SEO và vận hành website

Không phải mọi HTTP error codes đều ảnh hưởng đến SEO ở mức như nhau. Trong technical SEO, chỉ một nhóm mã nhỏ tác động rõ ràng đến crawl, index, trải nghiệm người dùng và độ ổn định của website.

7 mã quan trọng nhất

7 mã quan trọng với SEO
  • 200 - Trang hoạt động bình thường, nhưng cần là trang thực sự hợp lệ.
  • 301 - Chuyển hướng vĩnh viễn, thường dùng khi đổi URL chính thức.
  • 302 - Chuyển hướng tạm thời, không nên dùng thay 301 trong thời gian dài nếu thay đổi là vĩnh viễn.
  • 404 - Trang không tồn tại hoặc không tìm thấy.
  • 410 - Trang đã bị xóa hẳn, tín hiệu rõ ràng hơn 404 trong một số tình huống dọn index.
  • 500 - Lỗi nội bộ server, có thể ảnh hưởng đến crawl nếu kéo dài.
  • 503 - Website đang bảo trì hoặc quá tải tạm thời; đây là mã nên dùng khi downtime có kế hoạch.

Điểm cần lưu ý là soft 404. Đây là tình huống một URL trả 200 OK nhưng nội dung thực tế lại trống, lỗi, mỏng hoặc không hữu ích. Với search engine, đó có thể vẫn bị hiểu là một trang lỗi. Trong quá trình website audit, đây là lỗi khá phổ biến ở trang tìm kiếm nội bộ, trang tag rỗng hoặc landing page hết nội dung.

Các lỗi triển khai thường gặp

Trong thực tế audit, chúng tôi thường thấy các lỗi sau:

  • Dùng 302 thay cho 301 quá lâu sau khi đã đổi URL vĩnh viễn
  • Trả 200 cho trang lỗi hoặc trang không có nội dung thực
  • Website bảo trì nhưng không trả 503
  • Tạo redirect chain nhiều lớp làm chậm crawl và trải nghiệm người dùng
  • Không theo dõi 429 Too Many Requests khi website hoặc API bị giới hạn truy cập
  • Để lỗi 500 hoặc 502/504 kéo dài khiến bot giảm tần suất crawl, ảnh hưởng crawl budget

Nếu bạn đang kiểm tra website bằng crawler, GSC hoặc tab Network trong trình duyệt, các lỗi kỹ thuật này thường lộ ra rất nhanh.

Mã chuẩn và mã không chuẩn: Cần hiểu đến đâu?

Ngoài các mã chuẩn theo RFC 9110, bạn có thể gặp thêm non-standard status codes. Đây là các mã do web server, proxy, reverse proxy hoặc CDN cụ thể tạo ra để mô tả tình huống riêng của hệ thống. Chúng không phải là trọng tâm cần nhớ đầu tiên, nhưng nên biết để tránh hoang mang khi thấy trong log hoặc dashboard.

Một số mã hay gặp:

Nguồn phát sinh

Ý nghĩa gần đúng

444

nginx

Đóng kết nối mà không trả response.

499

nginx

Client tự đóng request trước khi server phản hồi xong.

520

Cloudflare

Lỗi không xác định từ web server gốc.

522

Cloudflare

Kết nối tới server gốc bị timeout.

Điểm cần nhớ:

  • Đây không phải nhóm mã HTTP chuẩn phổ quát theo IETF.
  • Chúng thường xuất hiện trong môi trường có Cloudflare, nginx hoặc lớp proxy/CDN trung gian.
  • Người dùng phổ thông không cần học sâu nhóm này trước khi nắm chắc các mã chuẩn 2xx, 3xx, 4xx, 5xx.

Câu hỏi thường gặp

HTTP status code là gì?

HTTP status code là các mã phản hồi dạng 3 chữ số do server gửi về để thông báo kết quả của một yêu cầu (request) từ trình duyệt hoặc bot. Mã này giúp máy chủ "giao tiếp" với người dùng về trạng thái của tài nguyên, xác định xem yêu cầu đã thành công, cần chuyển hướng hay gặp lỗi.

Có bao nhiêu nhóm HTTP status code chính?

HTTP status code được chia thành 5 nhóm dựa trên chữ số đầu tiên:

  1. 1xx: Phản hồi thông tin.
  2. 2xx: Yêu cầu thành công.
  3. 3xx: Chuyển hướng.
  4. 4xx: Lỗi phía client (người dùng).
  5. 5xx: Lỗi phía server (máy chủ).

Sự khác biệt giữa mã 301 và 302 là gì?

Mã 301 (Moved Permanently) báo hiệu tài nguyên đã chuyển hướng vĩnh viễn, giúp truyền toàn bộ uy tín SEO (link equity) sang URL mới. Mã 302 (Found) báo hiệu chuyển hướng tạm thời, URL cũ vẫn được giữ nguyên và ưu tiên trong tương lai.

Làm thế nào để phân biệt lỗi 401 và 403?

Mã 401 (Unauthorized) nghĩa là bạn chưa đăng nhập hoặc xác thực thất bại, yêu cầu cần thông tin định danh. Mã 403 (Forbidden) nghĩa là server đã xác định được bạn là ai, nhưng từ chối cho phép bạn truy cập vào tài nguyên đó vì không đủ quyền hạn.

Lỗi "Soft 404" là gì và tại sao cần tránh?

Soft 404 xảy ra khi một trang web trả về mã 200 OK nhưng nội dung lại trống hoặc không còn ý nghĩa. Điều này đánh lừa công cụ tìm kiếm, khiến chúng lãng phí crawl budget và làm giảm chất lượng tổng thể của website trong mắt Google.

Khi nào nên sử dụng mã 410 thay vì 404?

Sử dụng 404 (Not Found) khi tài nguyên không tồn tại hoặc có thể xuất hiện lại trong tương lai. Sử dụng 410 (Gone) khi tài nguyên đã bị xóa vĩnh viễn và bạn muốn thông báo cho Google biết rõ điều đó để họ loại bỏ URL khỏi chỉ mục ngay lập tức.

Website đang bảo trì nên dùng mã nào?

Bạn nên sử dụng mã 503 (Service Unavailable). Mã này thông báo cho công cụ tìm kiếm rằng server chỉ đang tạm thời quá tải hoặc đang bảo trì, giúp họ quay lại sau thay vì hủy bỏ chỉ mục các trang của bạn như khi gặp mã lỗi 500.

Xem thêm:

Kết luận

Với phần lớn nhu cầu tra cứu và quản trị website, bạn không cần thuộc toàn bộ danh sách HTTP status code. Chỉ cần nắm đúng 5 nhóm 1xx–5xx, sau đó ưu tiên các mã phổ biến như 200, 301, 302, 404, 500 và 503 là đã đủ xử lý đa số tình huống thường gặp. Nếu nhìn từ góc độ SEO và vận hành web, giá trị lớn nhất của việc hiểu mã trạng thái HTTP nằm ở chỗ đọc đúng tín hiệu URL, tránh soft 404, giảm lỗi redirect và phát hiện sớm downtime.

Đánh giá bài viết

Bài viết này hữu ích thế nào?

Chưa có đánh giá

Bài viết liên quan