
HTTP (HyperText Transfer Protocol) là giao thức chính được sử dụng để truyền tải thông tin trên web. Khi bạn truy cập một trang web hoặc gửi yêu cầu đến một server, server sẽ phản hồi lại với một mã trạng thái HTTP (HTTP Status Code). Những mã trạng thái này giúp bạn hiểu được tình trạng của yêu cầu mà bạn đã gửi đi.
Trong bài viết này, CodeTutHub sẽ cung cấp cho bạn cái nhìn tổng quan về HTTP code, các loại mã trạng thái phổ biến, và ý nghĩa của từng loại.
HTTP Code là gì?
HTTP Code là các mã số gồm ba chữ số, được gửi từ server đến client (thường là trình duyệt) để biểu thị kết quả xử lý một yêu cầu HTTP. Những mã này giúp bạn biết liệu yêu cầu của mình đã được xử lý thành công hay gặp sự cố, và nếu gặp lỗi, nguyên nhân là gì.
Phân loại HTTP Code
Các HTTP code được chia thành 5 nhóm chính:
- 1xx: Thông tin (Informational)
Đây là các mã trạng thái tạm thời, cho biết yêu cầu đã được nhận và đang trong quá trình xử lý. - 2xx: Thành công (Success)
Những mã này cho biết yêu cầu đã được server xử lý thành công. - 3xx: Chuyển hướng (Redirection)
Dùng để thông báo rằng client cần thực hiện thêm một hành động khác để hoàn tất yêu cầu. - 4xx: Lỗi từ phía client (Client Error)
Những mã này cho biết có lỗi xảy ra từ phía người dùng, chẳng hạn như URL không tồn tại hoặc yêu cầu không hợp lệ. - 5xx: Lỗi từ phía server (Server Error)
Các lỗi này cho thấy server không thể hoàn thành yêu cầu do gặp sự cố nội bộ.
Bảng HTTP Code phổ biến
Dưới đây là bảng tổng hợp các HTTP Code quan trọng và giải thích ý nghĩa của từng mã:
| HTTP Code | Loại | Ý Nghĩa |
|---|---|---|
| 100 | Thông tin | Tiếp tục: Server đã nhận một phần yêu cầu và client nên tiếp tục gửi thêm dữ liệu. |
| 101 | Thông tin | Chuyển giao thức: Server đồng ý chuyển đổi sang giao thức khác theo yêu cầu. |
| 102 | Thông tin | Đang xử lý: Server đã nhận yêu cầu nhưng vẫn đang xử lý. |
| 103 | Thông tin | Early Hints: Cho phép client tải trước tài nguyên trong phản hồi. |
| 200 | Thành công | OK: Yêu cầu đã được xử lý thành công. |
| 201 | Thành công | Created: Tài nguyên mới đã được tạo thành công. |
| 202 | Thành công | Accepted: Yêu cầu đã được chấp nhận nhưng chưa được xử lý hoàn toàn. |
| 203 | Thành công | Non-Authoritative Information: Phản hồi từ server nhưng thông tin có thể không chính xác. |
| 204 | Thành công | No Content: Server xử lý thành công nhưng không trả về dữ liệu. |
| 205 | Thành công | Reset Content: Client nên làm mới tài liệu đã gửi yêu cầu. |
| 206 | Thành công | Partial Content: Server trả về một phần của tài nguyên, thường dùng cho tải tiếp. |
| 207 | Thành công | Multi-Status: Server trả về nhiều trạng thái khác nhau cho yêu cầu. |
| 208 | Thành công | Already Reported: Tài nguyên đã được báo cáo trong một phản hồi trước đó. |
| 301 | Chuyển hướng | Moved Permanently: URL đã được chuyển hướng vĩnh viễn. |
| 302 | Chuyển hướng | Found: URL tạm thời được chuyển hướng. |
| 303 | Chuyển hướng | See Other: Client nên truy cập URL khác để lấy tài nguyên. |
| 304 | Chuyển hướng | Not Modified: Tài nguyên không thay đổi kể từ lần cuối truy cập. |
| 400 | Lỗi client | Bad Request: Yêu cầu không hợp lệ, có thể do cú pháp sai. |
| 401 | Lỗi client | Unauthorized: Yêu cầu cần xác thực. |
| 402 | Lỗi client | Payment Required: Dự kiến dùng cho thanh toán trực tuyến, nhưng hiếm khi được áp dụng. |
| 403 | Lỗi client | Forbidden: Không có quyền truy cập vào tài nguyên. |
| 404 | Lỗi client | Not Found: Không tìm thấy tài nguyên yêu cầu. |
| 405 | Lỗi client | Method Not Allowed: Phương thức HTTP không được phép trên tài nguyên. |
| 406 | Lỗi client | Not Acceptable: Server không thể cung cấp nội dung phù hợp với yêu cầu của client. |
| 409 | Lỗi client | Conflict: Có xung đột khi xử lý yêu cầu, thường xảy ra với PUT. |
| 413 | Lỗi client | Payload Too Large: Dữ liệu yêu cầu quá lớn để server xử lý. |
| 429 | Lỗi client | Too Many Requests: Client gửi quá nhiều yêu cầu trong một thời gian ngắn. |
| 500 | Lỗi server | Internal Server Error: Server gặp lỗi không xác định. |
| 501 | Lỗi server | Not Implemented: Server không hỗ trợ phương thức yêu cầu. |
| 502 | Lỗi server | Bad Gateway: Server đóng vai trò trung gian nhận được phản hồi lỗi từ server khác. |
| 503 | Lỗi server | Service Unavailable: Server quá tải hoặc bảo trì. |
| 504 | Lỗi server | Gateway Timeout: Server trung gian không nhận được phản hồi từ server nguồn kịp thời. |
| 505 | Lỗi server | HTTP Version Not Supported: Phiên bản HTTP không được server hỗ trợ. |
| 506 | Lỗi server | Variant Also Negotiates: Lỗi cấu hình server khi chọn biến thể tài nguyên. |
| 507 | Lỗi server | Insufficient Storage: Server không đủ dung lượng để xử lý yêu cầu. |
| 508 | Lỗi server | Loop Detected: Phát hiện vòng lặp trong quá trình xử lý yêu cầu. |
| 510 | Lỗi server | Not Extended: Server yêu cầu thông tin bổ sung để xử lý yêu cầu. |
| 511 | Lỗi server | Network Authentication Required: Client cần xác thực mạng để truy cập tài nguyên. |
| 599 | Lỗi server | Network Connect Timeout Error: Lỗi kết nối mạng không hoàn thành trong thời gian cho phép. |
Các lỗi HTTP Code thường gặp và cách xử lý
1. Lỗi 401 - Unauthorized
- Nguyên nhân: Yêu cầu cần xác thực nhưng thông tin không hợp lệ.
- Cách xử lý: Đăng nhập lại hoặc kiểm tra thông tin xác thực.
2. Lỗi 404 - Not found
- Nguyên nhân: URL không tồn tại hoặc tài nguyên đã bị xóa.
- Cách xử lý: Kiểm tra lại đường dẫn hoặc liên hệ với quản trị viên để xác minh tài nguyên.
3. 429 - Too many requests
- Nguyên nhân: Quá nhiều yêu cầu được gửi trong thời gian ngắn.
- Xử lý: Hạn chế số lượng yêu cầu hoặc thêm thời gian trễ giữa các yêu cầu.
4. 413 - Payload too large
- Nguyên nhân: Dữ liệu yêu cầu vượt giới hạn của server.
- Xử lý: Nén dữ liệu hoặc kiểm tra giới hạn của server.
5. Lỗi 500 - Internal server error
- Nguyên nhân: Server gặp lỗi nội bộ hoặc không xử lý được yêu cầu.
- Cách xử lý: Kiểm tra log server để tìm hiểu nguyên nhân và khắc phục.
6. Lỗi 401 - Unauthorized
- Nguyên nhân: Yêu cầu cần xác thực nhưng thông tin không hợp lệ.
- Cách xử lý: Đăng nhập lại hoặc kiểm tra thông tin xác thực.
7. Lỗi 503 - Service unavailable
- Nguyên nhân: Server bị quá tải hoặc đang bảo trì.
- Cách xử lý: Đợi một thời gian rồi thử lại.
8. 504 - Gateway Timeout
- Nguyên nhân: Server trung gian không nhận phản hồi kịp thời từ server nguồn.
- Xử lý: Kiểm tra kết nối hoặc tăng thời gian timeout.
Làm sao để theo dõi HTTP Code trong dự án?
- Sử dụng công cụ phát triển trình duyệt (Developer Tools): Trong các trình duyệt như Chrome, Firefox, bạn có thể mở Developer Tools (F12) và kiểm tra mục "Network" để xem mã trạng thái HTTP của từng yêu cầu.
- Sử dụng phần mềm giám sát: Các công cụ như Postman, cURL, hoặc các dịch vụ monitoring (New Relic, Datadog) giúp bạn kiểm tra HTTP code hiệu quả.
Kết luận
Hiểu rõ về HTTP code không chỉ giúp bạn phát hiện và sửa lỗi nhanh chóng mà còn giúp cải thiện hiệu suất và trải nghiệm người dùng trong dự án web. Hãy luôn kiểm tra và xử lý các lỗi HTTP code một cách cẩn thận để đảm bảo website của bạn hoạt động ổn định.
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ hoặc để lại bình luận để chúng tôi biết bạn quan tâm đến chủ đề nào khác!
CodeTutHub - Đồng hành cùng bạn trong hành trình lập trình!









