Có thể nói REST và kiến trúc RESTful được biết đến rộng rãi trong lập trình web nói chung và lập trình ứng dụng nói riêng.
1. RESTful là gì?
REST (Representational state transfer) là một kiểu kiến trúc phần mềm có các tập quy ước sẽ được sử dụng làm dịch vụ (Web service) tương tác giữa các hệ thống máy tính hoặc Clent – Server trên nền tảng internet thông qua giao thức HTTP.
Các web service cho phép các hệ thống có thể truy cập, thao tác, biểu diễn dữ liệu mà không cần quan tâm đến trạng thái của nhau. Nghĩa là khi một gói tin được gửi đi thì gói tin đã được đóng gói đầy đủ thông tin cần thiết để hệ thống nhận có thể hiểu được và phản hồi.

2. VERBS (Phương thức HTTP)
Verbs là những phương thức HTTP được cung cấp để tương tác với tài nguyên máy chủ.
Có 4 phương thức chính được thiết kế rất tốt và được sử dụng rộng rãi trong các hệ thống RESTful đó là GET, POST, PUT, DELETE. Ngoài ra có thêm các phương thức khác ít được sử dụng rộng rãi hơn: HEAD, OPTIONS, PATCH, CONNECT, TRACE
- GET: Phương thức GET là một phương thức phổ biến nhất trên web. Nó chuyển tài nguyên từ máy chủ tới máy khác. Một điểm quan trọng nhất của phương thức GET là nó sẽ không sửa đổi bất cứ điều gì trên tài nguyên máy chủ. Vể cơ bản, nó là một request tương đối an toàn.
- POST: là phương thức sử dụng trong trường hợp client không thể định danh tài nguyên trên máy chủ. Cụ thể là thêm tài nguyên cho máy chủ. Phương thức POST là phương thức không an toàn, nên chúng ta phải kiểm tra thông tin trước khi thêm vào máy chủ.
- PUT: là phương thức chuyển tài nguyên trở lại máy chủ thông qua một URL đã biết trước, rồi thực hiện ghi đè. Sự khác biệt này cho phép PUT thực hiện cập nhật tài nguyên đã biết trước dễ dàng hơn so với POST. PUT cũng có thể sử dụng cho việc thêm mới tài nguyên nếu client có thể dự đoán được định danh mới của tài nguyên. Nhưng điều này là không cần thiết, vì POST đã hỗ trợ tốt cho việc đó.
- DELETE: Là phương thức cho phép client xóa bỏ tài nguyên đã được xác định. Phương thức delete không được sử dụng rộng rãi trên web. Nhưng với không gian thông tin mà bạn có thể kiểm soát thì phương thức delete lại rất hữu ích cho vòng đời tài nguyên của bạn.
- HEAD: Phương thức này tương tự như GET nhưng nó không có phần Body của Response trả về. Nó chỉ có phần meta data của tài nguyên. Nó hữu ích trong việc nhanh chóng kiểm tra về sự tồn tại của tài nguyên.
- OPTIONS: Nó đơn giản là việc kiểm tra về việc server đã cho phép sử dụng các phương thức HTTP nào.
- PATCH: Là một phương thức mới, nó mới được thông qua vào năm 2010. Nó tương tự như PUT nhưng khác biệt ở đây là nó cho phép việc chỉ ghi đè một phần tài nguyên đã được client xác định trước.
- CONNECT: Là thiết lập một kết nối network từ client đến server qua HTTP.
- TRACE: Là phương thức thường sử dụng cho việc gỡ lỗi. Nó sẽ lặp lại nội dung mà client gửi lên và trả về nguyên nội dung đó cho client.
3. RESPONSE CODE
Response code cung cấp các cách đối thoại, giao tiếp giữa client và server thông qua các mã.
- 1XX: Informational – Chỉ các trạng thái tạm thời
- 2XX: Successful – Chỉ các trạng thái thành công của Request
- 3XX: Redirection – Chỉ các trạng thái của việc chuyển hướng URL
- 4XX: Error – Chỉ các trạng thái thông báo lỗi từ phía Client
- 5XX: Server Error – chỉ các trạng thái thông báo lỗi từ phía Server










(4 lượt thả tim)



