Sin estado: no hay memoria (estado) que mantiene el programa
Estado - El programa tiene una memoria (estado)
Para ilustrar el concepto de estado, definiré una función que es con estado y otra que es sin estado
Sin estado
//The state is derived by what is passed into the function
function int addOne(int number)
{
return number + 1;
}
con estado
//The state is maintained by the function
private int _number = 0; //initially zero
function int addOne()
{
_number++;
return _number;
}
Como han dicho otros, http es inherentemente sin estado. Así que el estado debe estar integrado en sus aplicaciones.
Imagine una solicitud a través de la web en la que tiene un navegador cliente que se comunica con un proceso del servidor. Para mantener el estado sobre el protocolo http sin estado que el navegador enviará, normalmente se enviará un identificador de sesión al servidor en cada solicitud. Para cada solicitud, el servidor será como "ah, es este tipo". La información del estado se puede buscar en la memoria del lado del servidor o en una base de datos basada en este ID de sesión.
En un entorno sin estado, no necesitarías este ID de sesión. Cada solicitud contendría toda la información que el servidor necesitaría procesar. Sin embargo, muchas aplicaciones deben mantener el estado para realizar un seguimiento de si una sesión se autentica o no para ver cierto contenido o para realizar un seguimiento de lo que está haciendo un usuario. No querría enviar credenciales de usuario por el cable para cada solicitud.