REST là phong cách xây dựng ứng dụng thịnh hành nhất lúc này bên trên mạng internet. Thực tế khi gọi nội dung bài viết về REST những các bạn sẽ thấy nó tương đối bị mơ hồ nước khó khăn hiểu.
REST là gì?
Những định nghĩa thứ nhất về REST(REpresentational State Transfer) được thể hiện vô năm 2000 vô luận văn TS của Roy Thomas Fielding (đồng tạo nên gửi gắm thức HTTP). Trong luận văn ông trình làng khá cụ thể về những buộc ràng, quy ước rưa rứa phương pháp triển khai với khối hệ thống để sở hữu được một khối hệ thống REST.
Hiểu giản dị nó là 1 trong cỗ những buộc ràng và quy ước , khi vận dụng không thiếu vô khối hệ thống của người sử dụng thì tao có một khối hệ thống REST.
REST Contraints
-
Hệ thống hoạt động và sinh hoạt bám theo quy mô client-server, vô ê server là tụ họp những service nhỏ lắng tai những request kể từ client. Với từng request không giống nhau thì rất có thể một hoặc nhiều service xử lý.
-
Stateless (phi trạng thái). Đơn giản server và client ko lưu hiện trạng của nhau -> từng request lên server thì client nên gói gọn vấn đề không thiếu nhằm thằng server nắm rõ. Vấn đề này hùn khối hệ thống của người sử dụng dễ dàng cách tân và phát triển,bảo trì, không ngừng mở rộng vì thế ko cần thiết mất công CRUD hiện trạng của client . Hệ thống cách tân và phát triển theo phía này còn có ưu thế tuy nhiên cũng đều có điểm yếu là ngày càng tăng lượng vấn đề cần thiết truyền đạt đằm thắm client và server.
-
Khả năng caching : Các response rất có thể kéo ra kể từ cache. bằng phẳng cơ hội cache những response , server rời vận tải việc xử lý request, còn client cũng cảm nhận được vấn đề thời gian nhanh rộng lớn. Tại trên đây tao bịa 1 thằng cache vô đằm thắm : client- cache- server.
-
Chuẩn hóa những interface : Đây là 1 trong trong mỗi đặc điểm cần thiết của khối hệ thống REST. bằng phẳng cơ hội đưa đến những quy ước chuẩn chỉnh nhằm tiếp xúc Một trong những bộ phận vô khối hệ thống, các bạn đang được giản dị hóa việc client rất có thể tương tác với server. Các quy ước này vận dụng cho tới toàn cỗ những service hùn cho những người dùng khối hệ thống của người sử dụng dễ dàng dụng rộng lớn. Dễ hiểu rộng lớn bên trên khối hệ thống các bạn đề ra 1 chuẩn chỉnh API nhằm người tiêu dùng mặc dù là mobile, trang web đều rất có thể liên kết vô được. Hệ thống REST đem yếu hèn điểm ở trên đây vì thế khi chuẩn chỉnh hóa rồi tao ko thế tối ưu từng liên kết.
-
Phân lớp khối hệ thống : vô khối hệ thống REST các bạn phân chia tách những bộ phận khối hệ thống bám theo từng lớp, từng lớp chỉ dùng lớp ở bên dưới nó và tiếp xúc với lớp ở tức thì bên trên nó tuy nhiên thôi. Vấn đề này giúp cho bạn rời phỏng phức tạp của khối hệ thống,hùn những bộ phận tách biệt nhau kể từ ê đơn giản không ngừng mở rộng từng bộ phận :
Resources (Tài nguyên)
Hệ thống REST trước hệt nên tuân hành những buộc ràng phía trên. Đi vô cụ thể, khối hệ thống REST triệu tập vô việc xử lý những khoáng sản. Resource là bất kể đồ vật gi tuy nhiên chúng ta có thể gọi thương hiệu được ( một đoạn Clip, hình họa, trang web, report không khí .v.v). Các khoáng sản này đỡ đần ta khái niệm được những services vô khối hệ thống, loại vấn đề tuy nhiên nó trả về, và hành động xử lý vấn đề của chính nó. Các đặc điểm tế bào miêu tả một khoáng sản :
-
Nhiều phương pháp hiển thị : tài liệu các bạn cảm nhận được rất có thể ở nhiều hình thức ( binary, JSON, XML .v.v) tài liệu này thay mặt đại diện cho một khoáng sản xác lập.
-
Nhận diện rõ nét : Mỗi URL bên trên 1 thời lăn tay trả về 1 khoáng sản xác lập.
-
Dữ liệu tế bào miêu tả (metadata) : Kiểu nội dung( Content-type), phiên cập nhâp mới mẻ .v.v
-
Dữ liệu điều khiển và tinh chỉnh : Is-modifiable-since, cache-control.
Thông thương nhắc tới REST là nhắc tới HTTP vì thế khối hệ thống REST hay sử dụng gửi gắm thức HTTP. Hệ thống REST xoay xung quanh viêc giản dị hóa việc lấy những representation của một khoáng sản khối hệ thống. How ?
còn tiếp