DEV Community

Fernilo
Fernilo

Posted on

REST VS SOAP

Cuando se envía una solicitud de datos a una API de REST, se suele hacer a través de un protocolo de transferencia de hipertexto, denominado HTTP. Una vez que reciben la solicitud, las API diseñadas para REST (conocidas como API o servicios web de RESTful) pueden devolver mensajes en distintos formatos: HTML, XML, texto sin formato y JSON. Opera principalmente mediante verbos HTTP (GET, POST, PUT, DELETE).

REST es Menos robusto para transacciones complejas o seguridad avanzada pero es más rápido y ligero (JSON es menos pesado que XML).

Escenarios comunes: Aplicaciones web y móviles, API públicas.

Image description
(Fuente: Seobility)

SOAP (Simple Object Access Protocol) es un protocolo de comunicación basado en XML que permite la interacción entre sistemas a través de redes. Como es un protocolo, impone reglas integradas que aumentan la complejidad y la sobrecarga, lo cual puede retrasar el tiempo que tardan las páginas en cargarse

Por su seguridad y por la integridad de los datos, SOAP es más recomendable.

Escenarios comunes: Servicios empresariales, integraciones complejas.

Ejemplos

REST(json)
GET /api/users/123 HTTP/1.1
Host: example.com

Response:
{
    "id": 123,
    "name": "John Doe"
}
Enter fullscreen mode Exit fullscreen mode
SOAP(xml)
POST /soap HTTP/1.1
Host: example.com
Content-Type: text/xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <GetUser>
            <UserId>123</UserId>
        </GetUser>
    </soap:Body>
</soap:Envelope>

Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <GetUserResponse>
            <User>
                <Id>123</Id>
                <Name>John Doe</Name>
            </User>
        </GetUserResponse>
    </soap:Body>
</soap:Envelope>
Enter fullscreen mode Exit fullscreen mode

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (0)

Billboard image

Try REST API Generation for Snowflake

DevOps for Private APIs. Automate the building, securing, and documenting of internal/private REST APIs with built-in enterprise security on bare-metal, VMs, or containers.

  • Auto-generated live APIs mapped from Snowflake database schema
  • Interactive Swagger API documentation
  • Scripting engine to customize your API
  • Built-in role-based access control

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay