Trong API Design, bạn phân biệt như thế nào giữa REST và RPC?
Trong API Design, bạn phân biệt như thế nào giữa REST và RPC?
markdown
REST (Representational State Transfer) và RPC (Remote Procedure Call) là hai phong cách thiết kế API phổ biến với những điểm khác biệt rõ ràng:
REST là một phong cách kiến trúc tập trung vào các tài nguyên. Mỗi tài nguyên được biểu diễn bằng một URL duy nhất và có thể được truy cập thông qua các phương thức HTTP như GET, POST, PUT, DELETE. REST nhấn mạnh vào việc sử dụng HTTP theo cách tự nhiên và tiêu chuẩn, dễ dàng tận dụng các lợi ích của HTTP như caching, headers, và status codes. REST không yêu cầu một giao thức cụ thể, thường sử dụng JSON hoặc XML cho dữ liệu.
RPC là một mô hình cho phép thực hiện cuộc gọi thủ tục từ xa, tức là người dùng có thể gọi hàm tại máy khác như thể nó đang ở trên máy cục bộ. Với RPC, yêu cầu thường chứa tên hàm và các tham số. Có nhiều giao thức như JSON-RPC, XML-RPC, gRPC được sử dụng. RPC thường mạnh mẽ hơn trong việc thực hiện các thao tác phức tạp được gói gọn trong các hàm.
...
middle