Chủ Nhật, 6 tháng 11, 2016

Cơ bản về RESTful Web services

  Không có nhận xét nào

Giới thiệu RESTful


Những khái niệm đầu tiên về REST(REpresentational State Transfer) được đưa ra vào năm 2000 trong luận văn tiến sĩ của Roy Thomas Fielding (đồng sáng lập giao thức HTTP). Trong luận văn ông giới thiệu khá chi tiết về các ràng buộc, quy ước cũng như cách thức thực hiện với hệ thống để có được một hệ thống REST.

RESTful là một phong cách/chuẩn kiến trúc tổ chức và xây dựng Web Service. RESTful đã được chọn sử dụng rộng rãi thay cho Web service dựa trên SOAP và WSDL. Bằng chứng cho sự thay đổi này là việc các công ty như Yahoo, Google và Facebook đã phản đối các giao thức dựa trên SOAP hoặc WSDL và ủng hộ phương thức hướng đến tài nguyên và dễ sử dụng đối với các dịch vụ của họ.

Web service RESTful sẽ tuân thủ theo bốn nguyên tắc thiết kế cơ bản sau

1. Sử dụng các phương thức HTTP một cách rõ ràng
2. Phi trạng thái
3. Hiển thị cấu trúc thư mục như URls
4. Chuyển đổi JavaScript Object Notation (JSON) và XML hoặc cả hai.

1. Sử dụng các phương thức HTTP một cách rõ ràng
Nguyên lý thiết kế REST cơ bản là ánh xạ 1-1 giữa các hành động tạo, đọc, cập nhật và xoá (CRUD) các quá trình vận hành và các phương thức HTTP. Ta có:
- Để tạo một tài nguyên trên máy chủ, bạn cần sử dụng phương thức POST.
- Để truy xuất một tài nguyên, sử dụng GET.
- Để thay đổi trạng thái một tài nguyên hoặc để cập nhật nó, sử dụng PUT.
- Để huỷ bỏ hoặc xoá một tài nguyên, sử dụng DELETE.

2. Phi trang thái
Một dịch Web phi trạng thái sinh ra một phản hồi liên kết với số trang tiếp theo trong một tổng thể và để máy khách làm những gì mà nó cần để giữ giá trị này ở mức nhất định.

3. Hiển thị cấu trúc thư mục như URls
Nó sẽ trông như thế này (và tất nhiên đây chỉ là ví dụ cho bạn hình dung thôi nhé :))
http://www.domain.com/baiviet/{year}/{day}/{month}/{topic}
Nó thân thiện với người dùng, dễ nhớ, dễ SEO hơn nhiều :)

Một số lưu ý cấu trúc địa chỉ của Web service RESTful:
- Giấu các đuôi tài liệu mở rộng của bản gốc trong máy chủ (.jsp, .php, .asp), nếu có, vì vậy bạn có thể giấu một số thứ mà không cần thay đổi địa chỉ Urls.
- Để mọi thứ là chữ thường.
- Thay thế các khoảng trống bằng gạch chân hoặc hoặc gạch nối (một trong hai loại).
- Tránh các chuỗi yêu cầu càng nhiều càng tốt.
- Thay vì sử dụng mã (404 Not Found) khi yêu cầu địa chỉ cho một phần đường dẫn, luôn luôn cung cấp một trang mặc định hoặc tài nguyên như một phản hồi.

4. Chuyển đổi JSON, XML hoặc cả hai.
Là một bản tóm tắt các thuộc tính của những thứ trong mô hình dữ liệu hệ thống. Định dạng dữ liệu mà ứng dụng và trao đổi dịch vụ trong mức đáp ứng yêu cầu/phản hồi hoặc trong phần thân của HTTP. Các chủ thể trong mô hình dữ liệu có liên quan với nhau. Cấu trúc dịch vụ sao cho nó tận dụng được phần đầu chấp nhận HTTP có sẵn bên trong – N, XHTML.

Tài liệu tham khảo

- Căn bản về RESTful Web services
- Cố gắng để giải thích về REST
- RESTful Web Services Tutorial

Không có nhận xét nào :

Đăng nhận xét