What is the difference between soap and rest, which has been explained as below:
| SOAP | REST |
| SOAP stands for Simple object access protocol | REST stands for Representational state transfer |
| SOAP is Object oriented | REST is Resource Oriented |
| SOAP contains and describes the common set of rules to define the messages, bindings, operations and location of the Web service. | RESTful Web services are stateless |
| While implementing SOAP, we need to follow a standard,architecture which specifies the basic rules | REST uses the HTTP build-in headers to carry meta information and use the GET, POST, PUT and DELETE verbs to perform CRUD operations |
| Slower than REST | Faster than SOAP |
| Caching is not allowed | Caching is allowed |
| It support both SSL and WS-Security | It only support SSL Security |
| XML is the only way for message communication | You can use XML,JSON and other valid MIME type for message communication |
| Messages are encoded for better security perspective.Support both text and binary encoding | Messages are not encoded.Encoding is only limited to text |
| Heavyweight | Lightweight |
| SOAP support multiple protocol such as HTTP(S), Messaging, TCP, UDP SMTP, etc. | Supports only HTTP or HTTPS protocols |
| It is self describing with the help of WSDL. So require less documentation for overall service behavier and implementation | It is not self describing, So standard documentation required to understand the behavior of service |
| We need some set of developer tools to implement SOAP due to its complexity. A good framework needs to select to make the implementation of SOAP service faster | Due to its simplicity it is very easy to consume and doesn’t require any tools or framework in most of the cases |