Tìm hiểu về HTTP Status Code

August 12, 2019 (5y ago)

Nếu bạn là một web developer hoặc thường xuyên làm việc với các API chắc chắn bạn đã quá quen thuộc với các con số 200, 404, 500... chúng là các Status Code của HTTP. Vậy có khi nào bạn tự hỏi ngoài các con số trên còn các số nào không, ý nghĩa của chúng là gì? Trong blog này tôi sẽ giải quyết điều này giúp bạn. Nào chúng ta bắt đầu thôi.

Trước tiên chúng ta sẽ tìm hiểu một chút về HTTP Response. Khi nhận và phiên dịch một HTTP Request, Server sẽ gửi tín hiệu phản hồi là một HTTP Response bao gồm các thành phần sau :

Dưới đây là một ví dụ về một HTTP Response

http

Bây giờ chúng ta sẽ tập trung chính vào dòng Status-Line: Một dòng Status Line bao gồm phiên bản giao thức (HTTP-Version) sau đó là mã hóa trạng thái số (Status-Code) và cụm từ thuần văn bản được liên kết của nó. Các thành phần được phân biệt bởi dấu cách

Status-Line = HTTP-Version <Space> Status-Code <Space> Reason-Phrase CRLF

Ví dụ :
HTTP/1.1 404 Not Found

HTTP-Version : HTTP/1.1
Status-Code : 404
Reason-Phrase : Not Found

Status code (Mã hóa trạng thái thường được gọi là mã trạng thái) là một số nguyên 3 ký tự, trong đó ký tự đầu tiên của Status-Code định nghĩa loại Response và hai ký tự cuối không có bất cứ vai trò phân loại nào. Có 5 giá trị của ký tự đầu tiên:

Status-Code HTTP là có thể co giãn và ứng dụng HTTP không được yêu cầu để hiểu ý nghĩa của tất cả các mã trạng thái được đăng ký. Một danh sách của tất cả các mã trạng thái đã được cung cấp trong một chương riêng biệt cho bạn tham khảo.

I. 1xx Infomation (Thông tin)

II. 2xx Success (Thành công)

III. 3xx Redirection (Sự chuyển hướng lại)

IV. 4xx: Client Error (Lỗi Client)

V. 5xx: Server Error (Lỗi Server)

Trên đây là danh sách các Status-Code phổ biến nhất, ngoài ra còn nhiều các Status-Code tiêu chuẩn đã được nhưng nghĩa như : 418, 421, 506, 507, 508, 511 ... Cám ơn các bạn đã theo dõi.

VI. Tài liệu tham khảo List of HTTP status codes (Wiki): https://en.wikipedia.org/wiki/List_of_HTTP_status_codes