Diferença entre SOAP e REST

Protocolo Simples de Acesso a Objetos (SOAP)
O Simple Object Access Protocol é um protocolo leve e baseado em XML usado para trocar informações pela Internet entre programas executados no mesmo ou em sistema operacional diferente. As mensagens SOAP podem ser transportadas usando uma variedade de protocolos, incluindo HTTP, SMTP ou MIME. Todas as mensagens SOAP usam o mesmo formato, tornando-as compatíveis com uma variedade de sistemas operacionais e protocolos.

Por que usar o protocolo HTTP para mensagens SOAP?
Tradicionalmente, o protocolo HTTP é usado para enviar páginas da Web pela Internet. Como os firewalls geralmente não bloqueiam o tráfego da porta 80 (HTTP), a maioria das mensagens SOAP pode passar sem problemas.

Representational State Transfer (REST)
O REST é uma arquitetura sem estado baseada em padrões da web e geralmente é executada em HTTP. Foi descrito pela primeira vez por Roy Fielding em 2000. A arquitetura trata todas as entidades como um recurso, que pode ser acessado através de uma interface comum baseada nos métodos padrão HTTP.

Arquitetura REST
A arquitetura REST normalmente possui um cliente REST e um servidor. O servidor geralmente fornece acesso aos recursos e um cliente acessa e modifica os recursos. Os recursos são identificados usando os IDs globais (que geralmente são URIs). A arquitetura enfatiza ter um número limitado de operações entre o cliente e um servidor para melhorar a eficiência de um sistema.

Diferença entre os serviços web SOAP e REST

  1. SOAP é um protocolo de mensagens baseado em XML, enquanto REST é um estilo arquitetural.
  2. O SOAP foi projetado para lidar com a computação distribuída, enquanto o REST assume a comunicação ponto a ponto onde o intermediário não desempenha um papel significativo.
  3. O REST não requer nada além de HTTP. SOAP requer um conjunto completo de ferramentas e suporte a middleware.
  4. Há um manipulador de erros interno no REST. Nenhum manipulador presente no SOAP.