为什么我们说Web服务是无状态的?Webservices是无状态的?
回答
它们不会在来自客户端的请求之间持续任何状态。即服务不知道也不关心后续请求来自已经/还没有做出先前请求的客户端。基本上,它是一个'给我这个信息,忘了我',这使得客户有责任维持任何状态。
请求是相互独立的。
因为HTTP是无状态的。在客户端请求被服务器完成之后,没有信息被存储用于未来的事务。
因为Web服务基于HTTP,这是一种无状态协议。
引用wikipedia:
无状态服务器是一个服务器,它 将每个请求作为一个独立的事务 即无关于任何先前 请求。
即,每个请求与前一个请求是独立的:即使我们使用一些“技巧”(例如cookie)来保留请求之间的某些状态,但这不是协议定义的内容。
无状态协议和无状态Web服务之间有很大的区别。应用程序可以是有状态的(使用“技巧”,如您所述),而底层协议是无状态的。另外,Web服务不一定意味着HTTP。例如,SOAP可以作为传输层使用SMTP。 – 2010-02-22 19:16:25
我会毫不犹豫地将SMTP SOAP服务称为“Web服务”。有很多类型的服务,但对我来说,Web服务= HTTP或HTTPS。 SMTP在网络之前。所以我认为帕斯卡的相关性很好。 – codenheim 2014-05-14 20:44:18
Web服务的概念是建模RPC(远程过程调用)又名一个函数。因此你不需要使用会话。此外,无状态的想法来自于将Web服务器扩展到服务器场的需求,从而实现更高的容量。
但是,使用状态的选择取决于技术和开发人员。没有什么可以阻止您创建ASP.Net Web服务并在方法定义中设置“EnableSession = True”。
这在一些基本的身份验证方案中很有用,例如本土表单身份验证或为短期“工作流程”提供自动关联。 (但我强烈建议您考虑更现代的技术将提供更高级别的安全性和性能)。
- 1. JBossWS&无状态WebServices,OutFaultInterceptor被忽略
- 2. web的含义是无状态的,http是无状态协议?
- 3. 无状态的饼干VS全状态
- 4. 具有无状态的分层状态
- 5. 基于PHP或PHP的Web框架是有状态的还是无状态的?
- 6. 这个Spring bean是无状态的吗?
- 7. BLL应该是无状态的吗?
- 8. Passport.js无状态
- 9. Django无状态?
- 10. Angular 2无状态或有状态?
- 11. 有状态与无状态Web服务
- 12. 有状态和无状态流处理
- 13. 无法解析从状态“状态”“”
- 14. Keras - 有状态vs无状态LSTM
- 15. 确定webapp是否为无状态
- 16. 什么是无状态类(在asp.net中)?
- 17. 有状态Web服务与(状态Bean +无状态WS)
- 18. 无法解析从状态 '状态2' '状态1' 从一个状态
- 19. 是WLST是有状态的
- 20. Admob状态无效
- 21. Amf PHP无状态?
- 22. GraphQL无状态吗?
- 23. 子状态不是从父状态
- 24. Spring的EJB无状态bean
- 25. 无效的查看状态
- 26. 无状态会话Bean vs无状态Singleton
- 27. REST在实践中是否真的是无状态的?
- 28. 实用程序/助手无状态静态类vs无状态非静态类
- 29. Wicket:无状态页面中的无状态AJAX行为,无序列化
- 30. Ruby中的动态状态机?状态机必须是类吗?
@mike:太文字? – brian 2010-02-22 18:09:18
我评论的版本很短,基本上说“因为他们不坚持状态。”我正在删除我的评论,并且还有一个优点。 – 2010-02-22 18:13:06
@mike:我的不好。我有同感。这就是我更新它的原因。 – brian 2010-02-22 18:15:37