+3

HTTP response code

Bài viết dịch từ https://developer.mozilla.org/ja/docs/Web/HTTP/Status

HTTP response code là mã dung để biểu thị trạng thái request HTTP chỉ định. Response được chia thành 5 class: Information Respone, success response, redirection, client erro và server error. Mời các bạn đọc bên dưới để có được ý nghĩa chi tiết của từng loại response.

Information Respone

Status code Status text Descriptiion HTTP version
100 Continue Đây là response tạm thời, có nghĩa là, đến thời điểm đó thì không có vấn đề gì, client có thể tiếp tục gửi request, hoặc, trong trường hợp đã request xong thì không cần để ý đến nó. Chỉ HTTP/1.1
101 Switching Protocol Code này nghĩa là upgrade client: Server chuyển đổi protocol được gửi dưới dạng response request header. Phần này được đưa vào để có thể chuyển migrate thành các protocol version không tương thích, không hay được sử dụng mấy. Chỉ HTTP/1.1

Success reponse

Status code Status text Descriptiion HTTP version
200 OK Là response khi request thành công. Như thế nào là “Thành công” thì lại tùy vào method HTTP• GET: Resource được lấy ra và gửi đi ở message body.• HEAD: Entity header nằm trong message body.• POST: Rource biểu thị kết quả action được gửi ở message body.• TRACE: Request message mà server đã nhận nằm ở message body. Từ HTTP/0.9 trở lên
201 Created Request thành công, resource mới đã được tạo. Code này chủ yếu là response sau khi gửi request PUT. Từ HTTP/0.9 trở lên
202 Accepted Đã nhận request nhưng chưa tiến hành. Từ HTTP/0.9 trở lên

Redirect message

Status code Status text Descriptiion HTTP version
300 Multiple Choice Có quá nhiều response đối với request. User agent hay user sẽ chọn 1 cái trong số đó. Không tiêu chuẩn hóa phương pháp chọn 1 trong số nhiều response. Từ HTTP/1.0 trở lên
301 Moved Permanently URL của resource request đã bị thay đổi. Có lẽ URL mới sẽ được đưa về trong response. Từ HTTP/0.9 trở lên
302 Found URL của resource request tạm thời bị thay đổi. Cũng có thể trong tương lai URL đó sẽ được thay đổi thành 1 cái mới. Do đó, client nên sử dụng URL đó đối với request trong tương lai. Từ HTTP/0.9 trở lên
303 See Other Server gửi response này để hướng dẫn client sử dụng request GET bằng URL khác để lấy resource đã request. HTTP/0.9 và 1.1
304 Not Modified Sử dụng cho cash: Response không bị thay đổi đối với client. Do đó, client tiếp tục sử dụng respones đã cash. Từ HTTP/0.9 trở lên
305 Use Proxy Resource request phải access thông qua proxy server. Response này không hay được support vì lý do security. Chỉ HTTP 1.1
306 unused Response code này không được sử dụng. Đã từng được dùng ở server cũ HTTP 1.1 Chỉ HTTP 1.1
307 Temporary Redirect Server gửi response này để hướng dẫn client sử dụng method giống với request ban đầu ở URL khác để lấy resource đã request. Response code này xét về ý nghĩa thì giống với 302 Found HTTP, tuy nhiên, vẫn có điểm khác: User agent bắt buộc phải thay đổi method HTTP sử dụng. Trường hợp đang sử dụng POST ở request ban đầu thì request sau cũng phải sử dụng POST. Chỉ HTTP 1.1

Client error response

Status code Status text Descriptiion HTTP version
400 Bad Request Do cú pháp không hợp lệ nên server không hiểu được request. Từ HTTP/0.9 trở lên
401 Unauthorized Cần xác thực để có thể lấy được resource request. Code này tương tự 403, nhưng trong trường hợp này có thể tiến hành xác thực. Từ HTTP/0.9 trở lên
404 Not Found Server không thể tìm thấy resource đã được request. Response code này hay xuất hiện trên Web, nên cũng là 1 code khá nổi tiếng. Từ HTTP/0.9 trở lên
405 Method Not Allowed Server nhận biết được request method nhưng không thể sử dụng, có thể do đã bị vô hiệu hóa. Không được disable 2 method bắt buộc là GET và HEAD, đồng thời, không cần trả về error code này. Chỉ HTTP/1.1
407 Proxy Authentication Required Giống tương tự 401 nhưng khác ở điểm proxy server request xác thực. Chỉ HTTP/1.1
409 Conflict Được gửi đến trong trường hợp request trái ngược với trạng thái hiện tại của server. Chỉ HTTP/1.1
410 Gone Được gửi đến trong trường hợp content request đã bị xóa khỏi server. Chỉ HTTP/1.1
411 Length Required Server yêu cầu header field Content-Length nhưng do không được khai báo ở request nên server từ chối request. Chỉ HTTP/1.1
412 Precondition Failed Điều kiện tiền đề không phù hợp bên server có chứa trong header của client. Chỉ HTTP/1.1
413 Payload Too Large Request vượt quá giới hạn server quy định. Server đóng connection hoặc trả về header field Retry-After. Chỉ HTTP/1.1
414 URI Too Long URL mà client đã request vượt quá chiều dài có thể xử lý ở server. Chỉ HTTP/1.1
415 Unsupported Media Type Hình thức media của data đã request không được server support, server từ chối request. Chỉ HTTP/1.1
416 Requested Range Not Satisfiable Không thoải mãn phạm vi chỉ định ở header field Range trong request. Có thể phạm vi đã chỉ định vượt quá size data của URL đích. Chỉ HTTP/1.1
417 Expectation Failed Nội dung đã chỉ định ở request header Expect không phù hợp với server. Chỉ HTTP/1.1
418 I'm a teapot Khi làm giống như pha coffee bằng teapot thì sẽ trả về error code "418 I'm a teapot". Entity Body trả về là short and stout. HTCPCP/1.0
421 Misdirected Request Request đã được gửi tới server không thể khởi tạo response. Server chưa chỉ định gửi code này để khởi tạo response đối với scheme có trong URL request. HTTP/2.0
429 Too Many Requests Server gửi quá nhiều request trong 1 khoảng thời gian nhất định. ("Rate limit") Từ HTTP/1.1 trở lên
431 Request Header Fields Too Large Header field quá lớn nên server không muốn xử lý request. Sau khi giảm size header field thì có thể gửi lại request. Từ HTTP/1.1 trở lên

Server error response

Status code Status text Descriptiion HTTP version
500 Internal Server Error Ở server xuất hiện trạng thái không biết phương pháp xử lý. Từ HTTP/0.9 trở lên
501 Not Implemented Request method không được server hỗ trợ, không được xử lý. Method server chắc chắn hỗ trỡ chỉ có GET và HEAD (Do đó, không được trả về code này). Từ HTTP/0.9 trở lên
502 Bad Gateway Server lấy đã lấy về response không đúng khi thực thi gateway lấy response cần thiết cho xử lý request. Từ HTTP/0.9 trở lên
504 Gateway Timeout Không lấy được respose khi server thực thi dưới dạng getway. Chỉ HTTP/1.1
505 HTTP Version Not Supported Server không support version HTTP đang dùng để request. Chỉ HTTP/1.1
511 Network Authentication Required Cần xác thực để client access bằng network. HTTP/1.1

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí