web services - para - Los servicios web son apátridas?
apatridas (5)
El concepto de un servicio web es modelar una RPC (llamada a procedimiento remoto), también conocida como una función. Por lo tanto, no debería necesitar usar sesión. Además, la idea de ser apátrida proviene de la necesidad de escalar los servidores web a una granja de servidores y, por lo tanto, permitir una mayor capacidad.
Sin embargo, la elección del uso del estado depende de la tecnología y del desarrollador. No hay nada que le impida crear un servicio web ASP.Net y configurar "EnableSession = True" en la definición del método.
Esto puede ser útil en algunos escenarios de autenticación básicos, es decir, autenticación de formularios propios o para proporcionar una correlación automática para "flujos de trabajo" efímeros. (Sin embargo, le recomiendo encarecidamente que considere que las técnicas más modernas proporcionarán un mayor nivel de seguridad y rendimiento).
¿Por qué decimos que los servicios web son apátridas?
Las solicitudes son independientes entre sí.
No persisten ningún estado entre las solicitudes del cliente. es decir, el servicio no sabe, ni le importa, que haya recibido una solicitud posterior del cliente que haya / no haya hecho una solicitud previa. Básicamente, es un ''dame esta información y olvídate de mí'', que pone la responsabilidad en el cliente para mantener cualquier estado.
Porque HTTP es sin estado. Después de que el servidor cumpla con una solicitud del cliente, no se almacena ninguna información para su uso en futuras transacciones.
Porque los servicios web se basan en HTTP, que es un protocolo sin estado.
Citando wikipedia :
Un servidor sin estado es un servidor que trata cada solicitud como una transacción independiente que no está relacionada con ninguna solicitud previa.
es decir, cada solicitud es independiente de la anterior: incluso si usamos algunos "trucos", como las cookies, por ejemplo, para preservar algún estado entre las solicitudes, esto no es algo definido por el protocolo.