GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué son los modelos sin estado y con estado de desarrollo web?

Público objetivo

Desarrolladores que son nuevos en la programación de sitios web o a quienes les gustaría una revisión de los modelos de diseño de sitios sin estado y con estado.

Introducción

Los modelos con estado y sin estado del comportamiento de la aplicación de software definen cómo el navegador web de un usuario se comunica con un servidor web. En los primeros años de la Web, los sitios tendían a no tener estado. Las páginas eran estáticas, sin variar de un usuario a otro. Más tarde, los sitios web incluyeron el modelo stateful, que entregaba páginas con información única para cada usuario. Las aplicaciones web con estado son esenciales para el comercio electrónico moderno, como los minoristas en línea y los bancos, pero requieren una programación sofisticada para funcionar de manera efectiva.
.

Modelo sin estado

En la forma pura del modelo sin estado, un programa cliente realiza una solicitud a un servidor de aplicaciones, que devuelve datos al cliente. El servidor trata todas las conexiones de los clientes por igual y no guarda información de solicitudes o sesiones anteriores. Un sitio web que ofrece una página web estática simple es un buen ejemplo del modelo sin estado. El servidor recibe solicitudes de páginas que aloja y envía los datos de la página a los navegadores que lo solicitan, como un cocinero de comida rápida que prepara comidas para los comensales.
.

Modelo con estado

Cuando una aplicación opera en modo con estado, el servidor realiza un seguimiento de quiénes son los usuarios y qué hacen de una pantalla a la siguiente. Preservar el estado de las acciones de los usuarios es fundamental para tener una sesión continua y significativa. Por lo general, comienza con un inicio de sesión con ID de usuario y contraseña, lo que establece un estado inicial para la sesión. A medida que un usuario navega por el sitio, el estado puede cambiar. El servidor mantiene el estado de la información del usuario durante toda la sesión hasta el cierre de sesión.
.

Convertir a los estados en apátridas

Muchos sitios web generan páginas de forma dinámica y dependen menos de los archivos HTML estáticos. El navegador del usuario recibe datos de la página de un servidor web y los representa como si fuera una página estática. Además, las páginas dinámicas permiten que el servidor “recuerde” al usuario y cree continuidad de una página a otra. Para que la continuidad funcione, un desarrollador puede emplear una serie de trucos, agregando funciones con estado al modelo sin estado. Por ejemplo, cuando un usuario inicia sesión en el sitio web de un banco, el servidor crea información sobre esta sesión. La información puede residir en la memoria del servidor, pero también puede almacenarse en el navegador. El servidor realiza un seguimiento de su sesión registrando información única sobre la sesión, como la dirección IP de un usuario. Además, el desarrollador puede crear variables adicionales del lado del servidor utilizadas por los programas en el servidor. Estas variables permanecen intactas mientras una sesión esté activa y desaparecen al cerrar la sesión o al expirar la sesión.
.

Datos del lado del navegador

Existen algunas opciones diferentes para mantener los datos de la sesión en el navegador. Una es la cookie , un tipo especial de token de navegador. Un servidor web puede crear una cookie y almacenarla en el navegador del usuario para que pueda consultarla durante la sesión. Un navegador almacena estas cookies y las devuelve a pedido del servidor. Las cookies pueden caducar opcionalmente con la sesión o persistir casi permanentemente. Sin embargo, si permanecen, los datos pueden ser leídos por cualquier sitio, lo que podría revelar información que el usuario no podría compartir de otra manera. La recopilación indiscriminada y no autorizada de datos por parte de muchas empresas a partir del uso de cookies ha generado una sensación de desconfianza entre muchos usuarios de Internet. Muchos usuarios, a su vez, han respondido configurando sus navegadores para bloquear las cookies, haciendo que las cookies estén menos disponibles para fines legítimos.

Además de las cookies, puede comunicar datos de sesión a un servidor poniendo variables en la URL, marcadas con un signo de interrogación, como en este ejemplo:

http://mysite.net/anypage.php?userID=54321&orderID=51926

Tenga en cuenta que la primera variable se destaca con un signo de interrogación y las variables posteriores usan un ampersand.

Muchos sitios usan URL para pasar datos del cliente al servidor. Un inconveniente es que los datos de URL son visibles para cualquier persona. En algunos casos, es posible explotar los datos de la URL para obtener información no autorizada o subvertir la seguridad de un sitio. Además, un pirata informático que monitorea su tráfico de Internet puede interceptar datos de URL fácilmente. Sin embargo, puede ocultar los datos de la URL pasándolos en forma cifrada o cifrada, lo que mejora su seguridad.
.

Carga del servidor

Cuando se ejecutan sitios web que usan el modo sin estado, un servidor en la nube tiene un trabajo que es relativamente fácil, sirviendo páginas sin la necesidad de guardar los datos del usuario. Un sitio con estado tiene sobrecarga de memoria adicional para cada usuario, necesaria para almacenar datos básicos de la sesión, además de las respuestas del usuario y otros datos requeridos por la aplicación. Para los sitios que manejan miles de sesiones simultáneas, los requisitos de memoria adicional se suman. Un sitio sin estado que se basa principalmente en páginas estáticas también es más fácil para la CPU del servidor. Por el contrario, un sitio con estado depende más del contenido dinámico generado por programas, lo que requiere mucha más potencia de CPU por sesión. Un personal de operaciones experto vigila de cerca la memoria del servidor y los datos de rendimiento de la CPU, en busca de cuellos de botella que puedan afectar la capacidad de respuesta de un sitio.
.

Conclusión

En la Internet moderna, un sitio web completamente sin estado tiene un uso limitado, ya que cada vez más contenido depende del seguimiento de los datos de la sesión de un visitante con ese sitio. Para crear sitios web dinámicos que "conozcan" a sus clientes, un desarrollador web debe tener en cuenta las diferencias entre los modos con estado y sin estado y las ventajas y desventajas de cada enfoque en lo que respecta a la página o elemento de página en particular.

Atlantic.net ofrece alojamiento VPS, así como servicios de alojamiento gestionados, que incluyen una capa de servicios gestionados esenciales para la empresa en sus paquetes de alojamiento. Contáctenos hoy para obtener más información.

Obtenga más información sobre nuestros servicios de alojamiento VPS y servidores privados virtuales.

.
.


Linux
  1. ¿Qué es un servidor web y cómo funciona un servidor web?

  2. Web descentralizada y redes P2P explicadas

  3. Nuclide:un IDE abierto para el desarrollo web y móvil

  4. ¿Qué puedes hacer con un VPS y un servidor en la nube?

  5. Preguntas frecuentes sobre el disco del sistema y el disco de datos

Cómo instalar el servidor web OpenLiteSpeed ​​con MariaDB y PHP

Instale MySQL en Windows Server 2008 R2 y 2012

Descubra CyberPanel e instálelo para controlar su servidor web

Desarrollo Web y Técnicas Avanzadas con Linux sobre Windows (WSL)

Conceptos básicos de alojamiento web y elección de un proveedor

¿Cuál es la diferencia entre DMA y E/S mapeada en memoria?