Significado de REST
Acrónimo pronunciable. Sustantivo masculino: el REST. Se pronuncia como la palabra inglesa «rest».
REST es la sigla del inglés Representational State Transfer: un estilo arquitectónico para diseñar API web que definen cómo se comunican dos sistemas a través de internet.
No es un protocolo ni un estándar cerrado, sino un conjunto de principios de diseño que se apoya en las reglas ya existentes del protocolo HTTP.
Qué es REST
REST describe cómo debe organizarse una API para que dos programas puedan intercambiar información de forma sencilla y predecible a través de internet. Una API que sigue el estilo REST representa cada recurso —un usuario, un producto, un pedido— mediante una dirección propia y usa los verbos ya definidos del protocolo HTTP para indicar qué operación se quiere hacer sobre ese recurso: consultarlo, crearlo, modificarlo o eliminarlo.
La ventaja principal de este estilo es que no exige inventar un lenguaje nuevo para cada API: reutiliza reglas que ya existían en la propia infraestructura de la web, lo que facilita que aplicaciones muy distintas entre sí puedan comunicarse siguiendo el mismo patrón.
Origen de la sigla REST
REST son las iniciales de Representational State Transfer, expresión que describe la idea central del estilo: transferir entre cliente y servidor una representación del estado de un recurso, normalmente en un formato como JSON, en lugar de dar acceso directo al recurso original.
El término se propuso como una forma de sistematizar prácticas de diseño que ya se usaban de manera informal en la web, y con el tiempo se convirtió en el estilo arquitectónico más extendido para construir API públicas y privadas en internet.
Principios de REST
Una API que sigue el estilo REST suele cumplir varios principios básicos:
| Principio | En qué consiste |
|---|---|
| Sin estado | Cada solicitud contiene toda la información necesaria; el servidor no guarda memoria de solicitudes anteriores. |
| Recursos identificables | Cada recurso tiene una dirección única y estable a la que se puede acceder. |
| Interfaz uniforme | Usa siempre los mismos verbos y convenciones, con independencia del tipo de recurso. |
| Cliente y servidor separados | Cada parte puede cambiar de forma independiente, mientras respete la interfaz acordada. |
Ejemplos de uso de la sigla REST
El término aparece sobre todo en el desarrollo de aplicaciones web y móviles.
La aplicación móvil consulta los datos del servidor a través de una API REST.
El equipo documentó cada operación de la API REST antes de compartirla con otros desarrolladores.
Diseñaron el nuevo servicio siguiendo los principios REST para facilitar su mantenimiento.
Cómo se escribe REST
- Se escribe con mayúsculas y sin puntos: REST, no R.E.S.T.
- El plural no cambia la sigla; lo marca el artículo: los REST resultaría forzado, y en la práctica se prefiere «las API REST» o «los servicios REST».
- Es de género masculino, por asociarse a «el estilo» o «el enfoque»: el REST; también funciona como adjetivo invariable, «una API REST».
- Se pronuncia como la palabra inglesa «rest», no deletreada; coincide, por casualidad, con la palabra inglesa que significa «descanso», sin relación de significado entre ambas.
- El desarrollo, «transferencia de estado representacional», se escribe en minúscula por ser un término técnico genérico; en la práctica casi nunca se traduce y se usa siempre el original en inglés.
Preguntas frecuentes sobre REST
¿REST es lo mismo que una API?
No. REST es un estilo de diseño; una API es la interfaz concreta que permite comunicarse con un sistema. Una API puede seguir el estilo REST, pero también puede diseñarse con otros estilos y protocolos distintos.
¿Qué relación hay entre REST y CRUD?
Las operaciones básicas de CRUD —crear, leer, actualizar y eliminar— suelen mapearse de forma directa sobre los verbos que usa una API REST, lo que hace que ambos conceptos aparezcan juntos con mucha frecuencia en el desarrollo web.
¿Por qué REST se volvió tan popular en el desarrollo web?
Porque aprovecha reglas que ya existían en el protocolo HTTP, en lugar de crear un sistema propio desde cero, lo que simplifica el diseño de las API y facilita que sistemas muy distintos se comuniquen siguiendo el mismo patrón.