En informática, una app sin estado es un programa de aplicación que no guarda los datos del cliente generados en una sesión para utilizarlos en la siguiente sesión con ese cliente. Una aplicación sin estado trata cada solicitud como una transacción aislada que es independiente de cualquier otra solicitud.
Lo contrario de una aplicación sin estado es una aplicación con estado, que guarda los datos del cliente para su uso en futuras sesiones. ¿Por qué la API REST se llama apátrida? Las API REST se denominan apátridas porque no mantienen ningún estado entre peticiones. Esto significa que cada solicitud es independiente de cualquier otra solicitud y el servidor no necesita hacer un seguimiento de ningún estado del cliente. Esto también hace que las APIs REST sean mucho más fáciles de escalar ya que no hay estado que mantener.
¿Qué caracteriza a las aplicaciones sin estado?
Hay algunas características clave que son comunes a las aplicaciones sin estado:
1. No mantienen ninguna información de estado entre peticiones. Esto significa que todos los datos necesarios para dar servicio a una solicitud deben ser enviados con cada solicitud, y que cualquier dato generado por la solicitud debe ser enviado de vuelta al cliente con la respuesta.
2. 2. Suelen estar diseñados para ser escalables, de modo que puedan desplegarse fácilmente en un gran número de servidores.
3. A menudo están diseñados para ser "sin estado" en términos de la infraestructura subyacente, así, para que puedan ser fácilmente migrados a diferentes entornos.
4. A menudo hacen uso de mecanismos de almacenamiento en caché para mejorar el rendimiento, ya que la recuperación de datos de una caché es generalmente más rápida que la recuperación de la fuente original.
5. También pueden hacer uso de la información del estado de la sesión para mejorar la experiencia del usuario, pero esta información de estado se almacena normalmente en el lado del cliente (en una cookie, por ejemplo) y no en el servidor.
¿Qué son las aplicaciones con estado?
Las aplicaciones con estado son aplicaciones que mantienen un estado o "memoria" de algún tipo. Este estado puede ser cualquier cosa, desde un simple valor variable que se mantiene a través de las invocaciones de la aplicación, hasta una compleja estructura de datos que se mantiene en una base de datos. Las aplicaciones con estado normalmente necesitan ser diseñadas con cuidado para asegurar que el estado se mantiene correctamente y que la aplicación puede manejar los fallos con gracia.
¿Es RESTful stateless o stateful?
En general, un servicio web RESTful no tiene estado, lo que significa que no hay estado del lado del servidor que se mantenga entre las solicitudes. Esto contrasta con un servicio web con estado, en el que el servidor mantiene la información de estado entre peticiones.
Sin embargo, hay algunas excepciones a esta regla general. Por ejemplo, un servicio web RESTful puede utilizar cookies para mantener la información del estado de la sesión. Además, un servicio web RESTful también puede utilizar algo llamado "token" para mantener la información de estado.
En general, un servicio web RESTful no tiene estado.
La API REST se llama sin estado porque cada solicitud es independiente.
Debido a que cada solicitud puede ser procesada independientemente de las demás, la API REST ha sido llamada sin estado. No es necesario hacer un seguimiento de las solicitudes anteriores para procesar la actual. Cada petición puede ser tratada de forma rápida y autónoma, lo que permite su escalabilidad.