REST
Rest stands for Representational State Transfer. It defines a set of architectural principles by which you can design Web Services that focus on a system's resources, including how resource states are addressed and transferred over HTTP by a wide range of clients written in various languages.
REST has advantages when:
- You have a set of resources that you want to manipulate.
- You want to support navigation among resources.
- You need scalability. RESTful web services are tyically stateless and therefore easily scalable.
- You want to improve performance by caching web service request results at some point between the service and the consumer.
SOAP
Soap stands for Simple Object Access Protocol. It is a simple XML-based protocol to let applications exchange information over HTTP.
Or
SOAP is a protocol for accessing a Web Service.
SOAP is for communication protocol between applications
SOAP is a format for sending messages
SOAP communicates via the Internet
SOAP is platform independent
SOAP is language independent
SOAP is based on XML
SOAP is simple and extensible
SOAP allows you to get around firewalls