1xx Informational
Nghĩa là request đã nhận được và xử lý đang được tiếp tục thực hiện
- 100 Continue: Server đã nhận được một phần của request, Client nên tiếp tục gửi phần còn lại.
Server sẽ trả ra final response khi nhận được đầy đủ.
vd : Server đã nhận được headers nhưng chưa có body. - 101 Switching Protocols: Server đồng ý thay đổi protocols theo yêu cầu của requester.
- 102 Processing (WebDAV): Server đã chấp nhận hoàn thành yêu cầu, nhưng chưa làm xong. Status code này nên được gửi khi công việc xử lý có thể sẽ mất nhiều thời gian và client có thể time-out connection.
2xx: Successful
Server đã nhận được và chấp nhận request
- 200 OK: Request đã thành công, response trả về phụ thuộc vào method dùng để request
- 201 Created: Request đã hoàn thành. một resource mới được tạo ra.(Thường sử dụng cho method PUT, POST)
- 202 Accepted: Request đã được chấp nhận thực hiện nhưng chưa hoàn thành. Cuối cùng nó có thể hoặc không được làm xong. Vì trong quá trình xử lý nó có thể không được cho phép nữa.
- 203 Non-Authoritative Information: Trả về thông tin trong entity-header. Đến từ một địa chỉ khác hoặc third-party không phải từ origin server.
- 204 No Content: Server thực hiện thành công request nhưng trong response trả về sẽ không có body content.
- 205 Reset Content: Khi status code này được trả về browser nên được reset lại form, refresh UI… để có thể bắt đầu nhập input (cũng không có body content giống với 204).
- 206 Partial Content: Server sẽ trả về 1 phần dữ liệu được yêu cầu. Trong request cũng phải có Range header để chỉ ra khoảng mong muốn.Các Range Header được sửa dụng bởi Client để cho phép nối lại các phần của file download bị dán đoạn hoặc chia thành nhiều luồng download.
3xx Redirection
Client cần thực hiện thêm các action cần thiết để hoàn thành request.
- 300 Multiple Choices: Server chỉ ra 1 danh sách các link để user có thể lựa chọn.
- 301 Moved Permanently: Để thông báo rằng các trang web hoặc URL đã chuyển hướng vĩnh viễn sang một trang web hoặc URL khác, có nghĩa là tất cả những giá trị của trang web hoặc URL gốc sẽ chuyển hết sang URL mới. Nên request hiện tại và các request sau được yêu cầu di chuyển tới một URI mới.
- 302 Found: Ở phiên bản HTTP/1.0 Nó thông báo rằng trang web hoặc URL đã chuyển hướng tạm thời sang địa chỉ mới nhưng vẫn phải dựa trên URL cũ. Vì một lý do nào đó, ví dụ như bảo trì trang web chính. nhưng phần lớn các browser lại thực hiện nó với ý nghĩa của 303 See Other. Do đó từ phiên bản HTTP/1.1 có thêm hai mã 303 và 307 để phân biệt rõ.
- 303 See Other: (Xuất hiện từ HTTP/1.1) Dữ liệu ở một url khác và phương thức GET được sử dụng để truy xuất nó.
- 304 Not Modified: Nó được sử dụng cho mục đích lưu trữ(file). Điều đó thông báo cho Client rằng file đó vẫn chưa được sửa đổi , vì vậy Client có thể tiếp tục sử dụng cùng 1 phiên bản được lưu trong bộ cache của response. Tham số If-Modified-Since hoặc If-None-Match cho biết file ko sửa từ ngày đó.
- 305 Use Proxy: Yêu cầu phải thông qua 1 proxy mới có thể truy cập được resource.
4xx Client Error
Lỗi từ client chỉ ra rằng yêu cầu không thể hoàn thành hoặc chứa cú pháp sai. Mã lỗi 4xx sẽ hiện ra khi có lỗi từ phía người dùng, chủ yếu là do không đưa ra một yêu cầu hợp lệ
- 400 Bad Request: Có một lỗi cú pháp trong request và request bị từ chối.
- 401 Unauthorized: Request phải có user xác thực(phải có username, password), các Response bắt buộc phải có thành phần WWW-Authenticate chứa yêu cầu thích hợp
- 402 Payment Required: Việc thanh toán là bắt buộc. Code này vẫn chưa hoạt động.
- 403 Forbidden: Request là hợp lệ nhưng server từ chối đáp ứng nó. Có nghĩa là không được phép, người dùng không có quyền để tiếp cận với các tài nguyên.
- 404 Not Found: Các file được yêu cầu không có trên máy chủ. Có thể bởi vì những file này đã bị xóa, hoặc chưa từng tồn tại trước đây nhưng có thể có trong tương lai . Nguyên nhân thường là do lỗi chính tả trong URL.
- 405 Method Not Allowed: Request method không được hỗ trợ cho các resource được yêu cầu.
- 406 Not Acceptable: Khi trình duyệt gửi một request để lấy thông tin từ server có nghĩa là trình duyệt gửi Accept header để nói cho server định dạng dữ liệu mà trình duyệt chấp nhận. Nếu server không thể gửi dữ liệu như định dạng trong accept header thì server sẽ trả về code này.
- 407 Proxy Authentication Required: Mã trạng thái này cũng tương tự như 401 (Không được uỷ quyền) nhưng quy định rằng request phải xác thực bằng cách sử dụng một proxy.
- 408 Request Timeout: Máy chủ mất quá nhiều thời gian để xử lý yêu cầu. Lỗi này thường gây ra bởi lưu lượng truy cập mạng cao.
- 409 Conflict: Máy chủ gặp phải một cuộc xung đột giữa các request. Các máy chủ có thể trả về mã này khi có một truy cập mới xung đột với một yêu cầu trước đó.
- 410 Gone: Các resource từng ở vị trí này, nhưng không còn nữa. khi gặp mã lỗi này Client không nên có gắng tìm kiếm các tài nguyên này ở những lần sau.
- 411 Length Required: Content-Length không được xác định rõ. Server sẽ không chấp nhận Request nào không có nó.
- 412 Precondition Failed: Request thiếu một hoặc nhiều điều kiện để thực hiện và server ko chấp nhận sẽ trả về code này.
- 413 Request Entity Too Large: Resource được yêu cầu xử lý là quá lớn.
- 414 Request-url Too Long: URI được cung cấp quá dài, thường là do quá nhiều dữ liệu được mã hóa như là một request GET, trong trường hợp đó nó phải được chuyển đổi sang method POST.
- 415 Unsupported Media Type: Server sẽ không chấp nhận Request, bởi vì kiểu, định dạng không được hỗ trợ. Ví dụ khi Client upload một ảnh có định dạng image/svg, nhưng server yêu cầu một định dạng là jpg.
- 416 Requested Range Not Satisfiable: Client yêu cầu một phần của file nhưng server không thể cung cấp nó. Ví dụ client muốn đọc phần đã nằm vượt quá cả phần cuối của file.
- 417 Expectation Failed: Máy chủ không thể đáp ứng các yêu cầu của trường Expect trong header.
- 429 Too Many Requests: User gửi quá nhiều request trong một khoảng thời gian.
5xx: Server Error
Cho biết máy chủ không thể hoàn tất request hợp lệ. Khi duyệt web và bắt gặp các lỗi 5xx, bạn chỉ có thể chờ đợi, vì lúc này lỗi xuất phát từ phía máy chủ của dịch vụ web, không có cách nào can thiệp để sửa lỗi ngoài việc ngồi chờ bên máy chủ xử lý xong.
- 500 Internal Server Error: Một thông báo chung chung, được đưa ra khi Server gặp phải một trường hợp bất ngờ và máy chủ đã gặp lỗi và không thể hoàn tất yêu cầu.
- 501 Not Implemented: Server không công nhận các Request method hoặc không có khả năng xử lý nó.
- 502 Bad Gateway: xuất hiện khi bạn không thể truy cập trang web, địa chỉ lỗi được phát hiện tại gateway. Lỗi 502 xảy ra do một gateway trên internet nhận phản hồi “không hợp lệ” (invalid response) từ server gốc. Gateway là một trong các server tiếp nhận, chuyển hướng, điều phối dữ liệu, nằm giữa server gốc và máy của bạn trên internet.
- 503 Service Unavailable: Máy chủ hiện tại không thể thực hiện yêu cầu (vì bị quá tải hoặc đang phải bảo trì). Đây là một thông báo về tình trạng bận tạm thời của máy chủ.
- 504 Gateway Timeout: Cổng đã hết thời gian. Giống như 408 timeout error, nhưng lỗi này xảy ra tại cổng của máy chủ.
- 505 HTTP Version Not Supported: Server không hỗ trợ phiên bản giao thức HTTP được sử dụng trong request.