La web no tiene estado. El estado se le otorga como una secuencia de valores.
Un servidor web recibe una solicitud del cliente (navegador) y calcula una respuesta. Entre una solicitud y la siguiente, el programa del servidor no mantiene ningún estado local. De hecho, en algunos modelos de servidor web, el programa se inicia con la solicitud como entrada y sale completamente tan pronto como produce una respuesta. El hecho de que los servidores modernos no salgan se debe solo al hecho de que iniciar / cerrar un proceso en sí mismo es muy costoso en tiempo y recursos, por lo tanto, es más eficiente mantener vivo el proceso y entregarle una solicitud completamente diferente. Sin embargo, tenga en cuenta que la nueva solicitud generalmente no tiene ninguna relación con la anterior. Probablemente provenga de otro usuario, y usted absolutamente quiere evitar el estado de un usuario para influir en otro usuario.
Si se va a preservar algún estado, se crea una llamada “sesión”. El estado de la sesión se convierte, lógicamente, en una entrada adicional y una salida adicional. Comienza con la solicitud que contiene un identificador de sesión. Expande el identificador de sesión a un registro de estado de sesión. Luego calcula una respuesta y un nuevo registro de estado de sesión para la salida. Por lo tanto, el “estado” solo persiste fuera del proceso del servidor. A menudo en una base de datos.
- ¿Cómo es el futuro del desarrollo web y los marcos web?
- ¿Podemos construir aplicaciones web con algoritmos de aprendizaje automático Apache Mahout?
- ¿Por qué no podemos usar un lenguaje de compilación en una aplicación web directamente?
- ¿Alguien puede diseccionar la arquitectura de sitios web como Dropbox, Letscrate?
- ¿Existen problemas de seguridad con el uso de javascript para iniciar sesión y decirle al usuario que ingresó sus datos de inicio de sesión correctamente?
También tenga en cuenta que si bien una de las ideas detrás de la programación funcional es que su código no debe modificar el estado, eso no significa que no haya ningún estado. El estado existe en forma de un nuevo valor que se calcula a partir de los valores existentes. En lugar de una secuencia de estados, tiene una secuencia de valores. Es decir, en lugar de modificar una estructura (valor) en su lugar, calcula una nueva estructura (valor).
Si su lenguaje le permite abstraerse de este mismo concepto, terminará con lo que se conoce como una mónada de estado, que es una abstracción sobre una secuencia de valores donde solo tiene dos operaciones más allá de las monádicas estándar: recuperar el valor actual y definir un Nuevo valor actual.