Điểm Danh Những HTTP Status Code Thông Dụng Developer Cần Phải Thuộc Làm Lòng
Hình dung bạn cần xây dựng một web service API dùng để quản lý các bài viết. Câu hỏi đặt ra là service này sẽ cần trả về status code là gì khi client gửi request để cập nhật nội dung một bài viết với post_id có giá trị là một chuỗi thay vì đúng ra phải là một số integer:
{ "post_id": "haha", "content": "hihi"}Tương tự service này sẽ cần trả về status code là gì khi client gửi request để import danh sách bài viết được export trước đó vào database nhưng thay vì gửi file XML hoặc JSON thì client lại gửi một file binary?
Đối với những developer việc nắm vững ý nghĩa của những HTTP status code là rất quan trọng khi thiết kế xây dựng những ứng dụng web đóng vai trò làm service API. Trả về status code đúng ý nghĩa sẽ giúp phía client hoàn toàn có thể quyết định hành động đúng chuẩn những bước tiếp giải quyết và xử lý theo sau như thế nào. Mặc dù vậy thì không nhiều developer hiểu đúng ý nghĩa của những status code .
Nội Dung Chính
HTTP Status Code Là Gì
HTTP Status Code là một mã gồm 3 chữ số được gửi trả về cho client từ server dùng để mô tả trạng thái của quá trình server xử lý một yêu cầu (request) cho trước gửi từ client tới server dưới giao thức HTTP.
Lưu ý rằng công dụng duy nhất của HTTP status code là để thông tin về trạng thái giải quyết và xử lý request của server .
Kiểm Tra HTTP Status Code Trên Trình Duyệt
HTTP status code được gửi trả về trong response header trả về từ server.
Chúng ta hoàn toàn có thể kiểm tra HTTP status code của một request sử dụng trình duyệt. Đầu tiên trên trình duyệt bạn mở developer tools sử dụng phím F12 và click vào tab Network. Sau đó truy vấn vào một trang bất kể ví dụ như Facebook, bạn sẽ thấy thông tin về HTTP status code của những request hiển thị ở cột status như sau :

Ở hình trên bạn thấy ngoài một request trả về HTTP status code là 307 (Internal redirect) thì hầu hết các request còn lại đều trả về trạng thái 200 (OK). Trong phần tiếp theo dưới đây chúng ta sẽ tìm hiểu kỹ hơn về ý nghĩa của các con số này.
Khi click vào một request bất kỳ bạn cũng sẽ thấy thông tin về HTTP status code hiển thị ở phía dưới mục General bên phải như hình dưới đây:

Ý Nghĩa Các HTTP Status Code Thông Dụng
Các HTTP status code có 3 chữ số và được phân thành 5 loại chính dựa vào chữ số tiên phong :
- 1xx: Các status code loại này dùng để đơn giản thông báo với client rằng server đã nhận được request. Các status code 1xx ít được sử dụng và thậm chỉ không được định nghĩa trong HTTP phiên bản 1.0.
- 2xx: Các status code loại này có ý nghĩa rằng request được server nhận, hiểu và xử lý thành công.
- 3xx: Các status code loại này có ý nghĩa rằng server sẽ chuyển tiếp request hiện tại sang một request khác và client cần thực hiện việc gửi request tiếp theo đó để có thể hoàn tất. Thông thường khi trình duyệt nhận được status code loại này nó sẽ tự động thực hiện việc gửi request tiếp theo để lấy về kết quả.
- 4xx: Các status code loại này có ý nghĩa rằng đã có lỗi từ phía client trong khi gửi request. Ví dụ như sai URL, sai HTTP method, không có quyền truy cập vào trang…
- 5xx: Các status code loại này có ý nghĩa rằng server đã có lỗi từ phía server trong khi xử lý request. Ví dụ như databse chết hoặc server bị hết bộ nhớ…
Các Status Code Thông Dụng
Ở phần này tất cả chúng ta sẽ cùng nhau tìm hiểu thêm những status code hay sử dụng khi thiết kế xây dựng web service ( hoặc sử dụng API ) .
2xx: Thành Công
Trong các HTTP status code thuộc loại 2xx thì 200 OK là status code thường được sử dụng nhiều. Các request được xử lý thành công bởi server thường sử dụng status là 200.
3xx: Chuyển Tiếp
Trong các HTTP status code thuộc loại 3xx thì 301 Moved Permanently, 302 Found và 307 Temporary Redirect thường được sử dụng nhiều. Trong khi 302 và 307 được sử dụng cho các request mà việc chuyển tiếp mang ý nghĩa tạm thời thì 301 sử dụng cho các request mà việc chuyển tiếp là cố định. Sự khác biệt ở đây đó là với các request trả về 301 thì ở các phiên làm việc tiếp theo client không nên gửi lại request này mà nên sử dụng request mới (hay request được chuyển tiếp).
Trong khi đó với các request trả về 302 và 307 thì cient vẫn nên sử dụng request này thay vì request mới (request được chuyển tiếp) vì việc chuyển tiếp chỉ diễn ra tạm thời.
4xx: Lỗi Từ Phía Client
Trong các HTTP status code thuộc loại 4xx thì 400 Bad Request, 401 Unauthorized, 403 Forbidden và 404 Not Found là status code thường được sử dụng nhiều. Trong đó:
400có ý nghĩa rằng server đã nhận được request nhưng phía client đã gửi một request lỗi. Một trong số lỗi có thể kể đến như lỗi cú pháp như upload tập tin không đúng format hoặc quá lớn, hoặc thiếu dữ liệu cần thiết…401có ý nghĩa rằng server đã nhận được request nhưng phía client không có quyền truy cập để xem hoặc chỉnh sửa hoặc xóa nội dung yêu cầu. Các request trả về status code401sẽ thay đổi nếu phía client thực hiện việc đăng nhập.403có ý nghĩa rằng server đã nhận được request nhưng từ chối việc xử lý request. Một trường hợp phổ biến mà status code403trả về đó là với các request muốn lấy về danh sách file trong một thư mục trên server ví dụ request tới địa chỉhttp://example.net/danh-sach-bang-diem/K07-A2.htmlsẽ trả về bảng điểm lớpA2khóaK07nhưng request tới địa chỉhttp://example.net/danh-sach-bang-diem/sẽ trả về status code là 403.404có ý nghĩa rằng server đã nhận được request nhưng không tìm thấy nội dung nào trả về với URL nhận được.
5xx: Lỗi Từ Phía Server
Trong các HTTP status code thuộc loại 5xx thì 500 Internal Server Error là status code thường được sử dụng nhiều. Status code 500 là một status với ý nghĩa chung nói rằng server đã gặp phải lỗi khi xử lý request mà không đưa ra lý do cụ thể.
Trên đây bạn đã tìm hiểu thêm những HTTP status code thường hay sử dụng nhất. Để tìm hiểu thêm chi tiết cụ thể tổng thể những HTTP status code bạn hoàn toàn có thể tìm hiểu thêm địa chỉ này .
Source: https://laodongdongnai.vn
Category: Chia Sẻ Kiến Thức






