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.
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"
}
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>
Top comments (0)