HTTP tiene cookies HTTP. Las cookies permiten al servidor rastrear el estado del usuario, el número de conexiones, la última conexión, etc.
HTTP tiene conexiones persistentes (Keep-Alive) donde se pueden enviar varias solicitudes desde la misma conexión TCP.
Respuestas:
Aunque se pueden enviar múltiples solicitudes a través de la misma conexión HTTP, el servidor no otorga ningún significado especial a su llegada a través del mismo socket. Eso es solo una cuestión de rendimiento, con la intención de minimizar el tiempo / ancho de banda que de lo contrario se gastaría restablecer una conexión para cada solicitud.
En lo que respecta a HTTP, todas son solicitudes separadas y deben contener suficiente información por sí mismas para cumplir con la solicitud. Esa es la esencia de la "apatridia". Las solicitudes no se asociarán entre sí en ausencia de información compartida que el servidor conozca, que en la mayoría de los casos es una ID de sesión en una cookie.
fuente
De Wikipedia :
Lo que hace que el protocolo sea apátrida es que el servidor no está obligado a rastrear el estado en múltiples solicitudes, no es que no pueda hacerlo si lo desea. Esto simplifica el contrato entre el cliente y el servidor y, en muchos casos (por ejemplo, el suministro de datos estáticos a través de una CDN) minimiza la cantidad de datos que deben transferirse. Si se servidores necesarios para mantener el estado de las visitas de los clientes de la estructura de la emisión y responder a las solicitudes sería más complejo. Tal como están las cosas, la simplicidad del modelo es una de sus mejores características.
fuente
Debido a que un protocolo sin estado no requiere que el servidor retenga información de la sesión o el estado de cada socio de comunicaciones durante la duración de múltiples solicitudes.
HTTP es un protocolo sin estado, lo que significa que la conexión entre el navegador y el servidor se pierde una vez que finaliza la transacción.
fuente
HTTP se llama como
stateless protocol
porque cada solicitud se ejecuta de forma independiente, sin ningún conocimiento de las solicitudes que se ejecutaron antes, lo que significa que una vez que finaliza la transacción, también se pierde la conexión entre el navegador y el servidor.Lo que hace que el protocolo
stateless
sea que en su diseño original, HTTP es relativamente simplefile transfer protocol
:No se mantuvo ninguna relación entre una conexión y otra, incluso del mismo cliente. Esto simplifica el contrato entre el cliente y el servidor y, en muchos casos, minimiza la cantidad de datos que deben transferirse.
fuente
Si el protocolo HTTP se proporciona como protocolo de estado completo, la ventana del navegador utiliza una conexión única para comunicarse con el servidor web para múltiples solicitudes dadas a la aplicación web. Esto le da la oportunidad a la ventana del navegador de conectar las conexiones entre la ventana del navegador y los servidores web durante mucho tiempo y mantener en estado inactivo durante mucho tiempo. Esto puede crear la situación de alcanzar las conexiones máximas del servidor web, aunque la mayoría de las conexiones en los clientes están inactivas.
fuente
HTTP no tiene conexión y este es un resultado directo de que HTTP es un protocolo sin estado. El servidor y el cliente solo se conocen entre sí durante una solicitud actual. Luego, ambos se olvidan el uno del otro. Debido a esta naturaleza del protocolo, ni el cliente ni el navegador pueden retener información entre diferentes solicitudes en las páginas web.
fuente
¿Qué es apátrida?
Una vez que se realiza la solicitud y se devuelve la respuesta al cliente, la conexión se cortará o terminará. El servidor olvidará todo sobre el solicitante.
¿Por qué apátridas?
La web elige el protocolo sin estado. Fue una elección genial porque el objetivo original de la web era permitir que los documentos (páginas web) se sirvieran a un número extremadamente grande. de personas que utilizan hardware muy básico para el servidor.
Mantener una conexión de larga duración habría sido extremadamente intensivo en recursos.
Si se eligiera la web como protocolo con estado, la carga en el servidor se habría incrementado para mantener la conexión del visitante.
fuente
HTTP
es apátridaTCP
tiene estado No existe el llamadoHTTP connection
, sino soloHTTP request
yHTTP response
. No necesitamos mantener nada para hacer otroHTTP request
. Un encabezado de conexión que es "mantener vivo" significaTCP
que será reutilizado por lasHTTP
solicitudes y respuestas posteriores , en lugar de desconectarse y restablecer laTCP
conexión todo el tiempo.fuente
Creo que alguien eligió un nombre muy desafortunado para el concepto STATELESS y es por eso que se produce todo el malentendido. No se trata de almacenar ningún tipo de recursos, sino de la relación entre el cliente y el servidor.
Cliente: Mantengo todos los recursos a mi lado y le envío la "lista" de todos los elementos importantes que deben procesarse. Haz tu trabajo.
Servidor: Muy bien ... déjame asumir la responsabilidad de filtrar lo que es importante para darte la respuesta adecuada.
Lo que significa que el servidor es el "esclavo" del cliente y tiene que olvidarse de su "maestro" después de cada solicitud. En realidad, STATELESS se refiere solo al estado del servidor.
https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_1_3
fuente