Tin học căn bản

Tìm hiểu REST (REpresentational State Transfer) và SOAP – nền tẳng phát triển của APIs RESTFul

Tìm Hiểu Rest (representational State Transfer) Và Soap – Nền Tẳng Phát Triển Của Apis Restful 5fce46c61b0de.jpeg

REST là gì?

REST (REpresentational State Transfer) là một kiểu kiến trúc sử dụng trong việc giao tiếp giữa máy khách và máy chủ web. Kiến trúc REST rất phổ biến nhờ sở hữu tính năng đơn giản, được xây dựng dựa trên các hệ thống và tính năng hiện có của HTTP, giao tiếp thông qua mạng internet để đạt được các mục tiêu của nó, thay vì tạo ra các tiêu chuẩn, framework và công nghệ mới.

Ưu điểm của REST

Lợi ích chính khi sử dụng REST trên cả máy khách và máy chủ, là các tương tác dạng REST diễn ra trên các cấu trúc quen thuộc đối với bất kỳ ai có thÓi quen sử dụng Giao thức HTTP.

Có thể lấy một ví dụ để chứng minh cho nhận định này như sau: bạn có thể thấy các tương tác REST đều truyền đạt trạng thái hiện tại sử dụng mã trạng thái HTTP tiêu chuẩn. Như vậy, 404 tương đương với tài nguyên yêu cầu không thể tìm thấy; mã 401 tương đương với yêu cầu không được phân phối; mã 200 có nghĩa là hoạt động ổn định; và 500 có nghĩa là đã xảy ra lỗi ứng dụng không thể phục hồi trên máy chủ.

Tương tự, các yếu tố như mã hóa và tính toàn vẹn trong khi vận chuyển dữ liệu được xử lý bằng SSL và TLS nổi tiếng thay vì thêm các framework hoặc công nghệ mới. Như vậy, toàn bộ kiến trúc REST được xây dựng dựa trên các khái niệm mà hầu hết các developer đã quen thuộc.

Tìm hiểu REST (REpresentational State Transfer) và SOAP - nền tẳng phát triển của APIs RESTFul  - Ảnh 1.

REST cũng là một kiểu kiến trúc độc lập với ngôn ngữ lập trình. Các ứng dụng dựa trên REST có thể được viết bằng bất kỳ ngôn ngữ nào, từ Java, Kotlin, .NET, AngularJS cho đến JavaScript. Miễn là ngôn ngữ lập trình sử dụng có thể thực hiện các yêu cầu web bằng HTTP, và ngôn ngữ đó có thể được sử dụng để gọi API RESTful hoặc dịch vụ web. Tương tự, các dịch vụ web RESTful có thể được viết bằng bất kỳ ngôn ngữ nào, vì vậy các developer được tự do hơn khi chọn các công nghệ hoạt động phù hợp nhất cho tình huống của họ.

Nhược điểm của REST

Tuy nhiên, ưu điểm của việc sử dụng các cấu trúc HTTP lại cũng chính là một hạn chế. Bởi các hạn chế của HTTP cũng trở thành các hạn chế của kiến trúc REST. Ví dụ: HTTP không lưu trữ thông tin về trạng thái giữa các chu kỳ khi phản hồi yêu cầu, và như vậy các ứng dụng dựa trên REST rơi vào tình trạng không rõ trạng thái và mọi tác vụ quản lý trạng thái phải được máy khách thực hiện.

Tương tự, vì HTTP không có bất kỳ cơ chế gửi push notification nào từ máy chủ đến máy khách, nên các kiểu dịch vụ máy chủ cập nhật cho máy khách sẽ rất khó để thực hiện nếu không sử dụng kiểm tra vòng client-side hoặc một số dịch vụ web hook khác.

Từ góc độ thực thi, REST còn vấp phải một vấn đề là việc các nhà phát triển không thể thống nhất ý nghĩa chính xác của cấu trúc REST. Một số nhà phát triển phần mềm nhầm lẫn rằng các công nghệ không có cấu trúc SOAP đều là RESTful. Điều này dẫn đến 1 quan niệm sai lầm về REST, cho rằng REST là một kiểu kiến trúc, và vì vậy không có các tiêu chuẩn nhất định để đánh giá thiết kế đã cho có phải là RESTful hay không. Kết quả là, một diễn đàn thảo luận đã ra đời để xem xét xem một API nào đó có tuân thủ các nguyên tắc dựa trên REST hay không.

REST so với SOAP

REST và SOAP là 2 kiểu triển khai các dịch vụ web cơ bản.

Các tương tác dựa trên web được REST xử lý dựa vào tài nguyên. Với REST, bạn định vị tài nguyên trên máy chủ và bạn có thể chọn cập nhật, xóa hoặc nhận một số thông tin về tài nguyên đó.

Tìm hiểu REST (REpresentational State Transfer) và SOAP - nền tẳng phát triển của APIs RESTFul  - Ảnh 2.

Với SOAP, máy khách không chọn tương tác trực tiếp với tài nguyên mà thay vào đó gọi một dịch vụ và dịch vụ đó sẽ có quyền truy cập vào các đối tượng và tài nguyên khác nhau một cách kín đáo.

SOAP cũng đã xây dựng một số lượng lớn các framework và API trên HTTP, bao gồm Ngôn ngữ mô tả dịch vụ web (WSDL), giúp xác định cấu trúc dữ liệu được truyền qua lại giữa máy khách và máy chủ.

Một số vấn đề về domain sẽ được xử lý tốt hơn nhờ khả năng xác định rõ định dạng của thông báo hoặc có thể hưởng lợi từ việc sử dụng các API liên quan đến SOAP khác nhau, chẳng hạn như WS-Eventing, WS-Notification và WS-Security. Đôi khi HTTP không thể đáp ứng được mức độ chức năng mà một ứng dụng yêu cầu và trong những trường hợp này, sử dụng SOAP sẽ là lựa chọn tốt hơn.

Giải nghĩa về API RESTful

API RESTful là API (application program interface) sử dụng các yêu cầu HTTP để GET, PUT, POST và DELETE dữ liệu

API RESTful dựa trên REST, một kiểu kiến trúc để giao tiếp giữa máy khách và máy chủ web.

Công nghệ REST ngày nay được ưa chuộng hơn so với SOAP. REST được đánh giá là mạnh mẽ hơn vì sử dụng băng thông ít hơn, do đó sử dụng internet hiệu quả hơn. 1 API cho website là 1 mã cho phép hai chương trình giao tiếp với nhau. API sẽ diễn giải để nhà phát triển có thể viết được chương trình yêu cầu dịch vụ từ một hệ điều hành hoặc ứng dụng khác một cách thích hợp.

REST được các trình duyệt được ví là ngôn ngữ của internet. Với xu thế sử dụng điện toán đám mây ngày càng tăng, các API đang dần trở thành 1 chiếc đòn bẩy thúc đẩy các dịch vụ web. Trong đó, REST là một lựa chọn hợp lý để xây dựng API, việc này cho phép người dùng kết nối và tương tác với các dịch vụ đám mây dễ dàng. API RESTful đều được sử dụng bởi các trang web lớn như Amazon, Google, LinkedIn và Twitter.

API RESTful hoạt động như thế nào?

Tìm hiểu REST (REpresentational State Transfer) và SOAP - nền tẳng phát triển của APIs RESTFul  - Ảnh 3.

API RESTful chia nhỏ một transaction để tạo ra một loạt các module nhỏ. Mỗi module giải quyết một phần nhất định của transaction. Tính năng module mang đến sự linh hoạt, đồng thời cũng ẩn chứa thách thức khi các nhà phát triển muốn thiết kế từ đầu.

Các phương thức HTTP sử dụng trong API RESTful được xác định bởi giao thức RFC 2616. Các phương thức này sử dụng GET để lấy tài nguyên; PUT để thay đổi trạng thái hoặc cập nhật tài nguyên, có thể là một đối tượng, 1 file hoặc 1 block; POST để tạo tài nguyên đó; và XÓA để loại bỏ.

REST được ưa chuộng hơn khi sử dụng cho web, nhưng mô hình RESTful cũng hữu ích trong các dịch vụ đám mây. Điện toán đám mây và các dịch vụ siêu nhỏ gần như là các yếu tố khiến cho API RESTful sẽ trở thành một kiểu quy tắcsử dụng  trong tương lai.

Theo BizFly Cloud tổng hợp

Kể từ ngày 05/11/2018, VCCloud chính thức đổi tên thành BizFly Cloud – là nhà cung cấp các dịch vụ đám mây hàng đầu tại Việt Nam hiện nay với các dịch vụ nổi bật như: BizFly Cloud Server, BizFly CDN, BizFly Load Balancer, BizFly Pre-built Application, BizFly Business Mail, BizFly Simple Storage. Hãy tăng tốc thích nghi cho doanh nghiệp cùng các giải pháp công nghệ của BizFly Cloud tại đây.
Dowload pc windows - tools Truyện ngôn tình Truyện Sắc Hiệp Free hentai manhwa - comic