What is difference between SOAP and REST web services ?

There are many differences between SOAP and RESTful web services.

SOAP REST
SOAP is a protocol. REST is an architectural style.
SOAP stands for Simple Object Access Protocol. REST stands for Representational State Transfer.
SOAP can’t use REST because it is a protocol. REST can use SOAP web services because it is a concept and can use any protocol like HTTP, SOAP.
JAX-WS (Java API for XML Web Services) is the java API for SOAP web services. JAX-RS(Java API for RESTful Web Services) is the java API for RESTful web services.
SOAP defines standards to be strictly followed. REST does not define too much standards like SOAP.
SOAP permits XML data format only. REST permits different data format such as Plain text, HTML, XML, JSON etc.
SOAP defines its own security. RESTful web services inherits security measures from the underlying transport.
SOAP requires more bandwidth and resource than REST. REST requires less bandwidth and resource than SOAP.
SOAP uses services interfaces to expose the business logic. REST uses URI to expose business logic.
SOAP is slower than REST. REST is much more lightweight and faster.
SOAP is less preferred than REST. REST more preferred than SOAP.