Bạn không thể so sánh REST và SOAP. REST là một kiểu kiến trúc trong khi SOAP là một giao thức.
Thật không may, REST trở thành từ thông dụng đồng nghĩa với dịch vụ HTTP RESTful, có nghĩa là hiện thực hóa kiến trúc theo kiểu REST với giao thức HTTP dưới dạng (ứng dụng).
REST dựa trên các nguyên tắc sau (các ràng buộc và các yếu tố) (trong ngoặc đơn thực hiện trong RESTful HTTP) [1] .
- Không trạng thái (HTTP là một giao thức không trạng thái)
- Tài nguyên (được xác định bởi các URI)
- Giao diện thống nhất (Phương thức HTTP)
- Đại diện (MIME-TYPE)
- HATEOS (Siêu liên kết)
- Bộ nhớ cache (Bộ đệm HTTP)
Mặt khác, nhiều người có nghĩa là bằng cách nói SOAP một dịch vụ web dựa trên WSDL và SOAP là một phần của kiến trúc dịch vụ web W3C [2] .
- SOAP được sử dụng làm giao thức để trao đổi thông tin (về cơ bản tên phương thức, tham số, giá trị trả về, kiểu dữ liệu, ...).
- WSDL một ngôn ngữ định nghĩa giao diện để mô tả dịch vụ web.
Ý nghĩa ngày nay của SOAP * là gì?
SOAP là một tiêu chuẩn W3C và nó được sử dụng làm định dạng trao đổi thông tin trong các dịch vụ web của W3C. Các dịch vụ web đó là - đặc biệt là trong sự cường điệu của các SOA (kiến trúc hướng dịch vụ) vào khoảng năm 2008 (+ - 3 năm) - và (không may) vẫn được triển khai chủ yếu trong các ứng dụng doanh nghiệp.
Điều này có một số lý do. Trước đó, RESTful HTTP không được biết đến nhiều và nó đã bị hiểu lầm. Thật không may, nó vẫn bị hiểu lầm hãy xem các câu trả lời khác
[...] REST bị giới hạn hơn nhiều so với SOAP [...].
Mục đích chính của REST là thể hiện các tài nguyên trên Internet [...].
Ngoài ra, SOAP (và WSDL) là một phần của ngăn xếp giao thức dịch vụ web W3C cung cấp nhiều tiêu chuẩn hơn để triển khai Dịch vụ Web.
Có phải mọi người vẫn đang phát triển các API dựa trên SOAP mới hay bây giờ chủ yếu là một di sản?
Vì vậy, có, vẫn còn và cũng sẽ có các hệ thống trong tương lai đang sử dụng SOAP (ít nhất là trong các hệ thống doanh nghiệp, chủ yếu là đằng sau cánh cửa). Nhưng phần lớn đang cố gắng thực hiện một số loại "REST" ngày nay.
Ai đó có thể vui lòng sửa cho tôi nếu tôi sai về sự khác biệt này giữa SOAP và REST không?
Nói REST là kiến trúc không trạng thái linh hoạt hơn để truyền dữ liệu không phải là một lời giải thích tốt. Nói đơn giản REST là một kiểu kiến trúc với các ràng buộc và các yếu tố cụ thể. Trong đó SOAP là một giao thức trao đổi thông tin.
Giống như tôi đã viết bạn không thể so sánh chúng. Nhưng bạn có thể so sánh Dịch vụ web RESTful HTTP với Dịch vụ web SOAP / WSDL.