Un protocolo sin estado es un protocolo de comunicación en el que el receptor no conserva el estado de sesión de solicitudes anteriores. El emisor transfiere el estado de sesión relevante al receptor de tal manera que cada solicitud puede entenderse de forma aislada, sin referencia al estado de sesión de solicitudes anteriores. [ 1 ]
En cambio, un protocolo con estado es un protocolo de comunicación en el que el receptor puede conservar el estado de la sesión de solicitudes anteriores.
En redes informáticas , ejemplos de protocolos sin estado incluyen el Protocolo de Internet (IP), que es la base de Internet , y el Protocolo de Transferencia de Hipertexto (HTTP), que es la base de la World Wide Web . Ejemplos de protocolos con estado incluyen el Protocolo de Control de Transmisión (TCP) y el Protocolo de Transferencia de Archivos (FTP).
Los protocolos sin estado ofrecen una visibilidad, fiabilidad y escalabilidad superiores. La visibilidad mejora porque un sistema de monitorización no necesita analizar más allá de una única solicitud para determinar su naturaleza completa. La fiabilidad mejora porque facilita la recuperación ante fallos como la pérdida de paquetes . La escalabilidad mejora porque no es necesario almacenar el estado de la sesión entre solicitudes, lo que permite al servidor liberar recursos rápidamente y simplifica aún más la implementación. La desventaja de los protocolos sin estado es que pueden disminuir el rendimiento de la red al aumentar la cantidad de datos repetitivos enviados en una serie de solicitudes, ya que estos datos no se retienen ni se reutilizan en el receptor.
Ejemplos
Un servidor HTTP puede entender cada solicitud de forma aislada. [ 2 ]
Compárese esto con un servidor FTP tradicional que mantiene una sesión interactiva con el usuario. Durante la sesión, se le proporciona al usuario un medio para autenticarse y configurar diversas variables (directorio de trabajo, modo de transferencia), que se almacenan en el servidor como parte del estado de la sesión.
Apilamiento de capas de protocolo sin estado y con estado
Pueden existir interacciones complejas entre protocolos con y sin estado en diferentes capas de protocolo. Por ejemplo, HTTP, un protocolo sin estado, se superpone a TCP , un protocolo con estado, que a su vez se superpone a IP , otro protocolo sin estado, que se enruta en una red que emplea BGP , otro protocolo con estado, para dirigir los paquetes IP que circulan por la red.
Esta acumulación de capas continúa incluso por encima de HTTP. Como solución alternativa a la falta de un estado de sesión retenido, los servidores HTTP implementan varios métodos de gestión de sesiones , [ 3 ] normalmente utilizando un identificador de sesión en una cookie HTTP que hace referencia a un estado de sesión almacenado en el servidor, creando efectivamente un protocolo con estado sobre HTTP. [ 4 ]
Véase también
Referencias
- ↑ Fielding, Roy (2000). "3.4.3 Cliente-Servidor sin Estado (CSS)" . Estilos arquitectónicos y el diseño de arquitecturas de software basadas en redes (tesis doctoral). Universidad de California, Irvine. OCLC 45706361. Consultado el 18 de mayo de 2021 .
- ↑ Fielding, R.; Reschke, J. (2014). Fielding, R.; Reschke, J. (eds.). "RFC 7230 - Protocolo de transferencia de hipertexto (HTTP/1.1): Sintaxis de mensajes y enrutamiento" . ietf.org . doi : 10.17487/RFC7230 . Consultado el 20 de agosto de 2015 .
- ↑ "Métodos de gestión de sesiones revisados" . Cookies C. Toronto. Archivado del original el 13 de febrero de 2019. Consultado el 12 de abril de 2011. El
siguiente material tiene como objetivo presentar al lector las diversas técnicas que los desarrolladores han utilizado para implementar el seguimiento de sesiones en la web. Se mencionan las principales características operativas de cada método, además de las deficiencias observadas en su uso. Se puede encontrar información adicional sobre la gestión de sesiones mediante búsquedas en Internet. […]
- ↑ Dwyer, Gareth (18 de noviembre de 2020). "Arquitectura con estado frente a arquitectura sin estado" . Virtasant .
- Servidores (informática)
- protocolos de red