什么叫有状态,无状态
先说结论:
-
无状态
- 当前的操作不需要历史信息的支持,一般都是短连接,比如在某个新闻网站上浏览新闻等。当从服务器获取资源后就可以和服务器断开连接
-
有状态
- 当前操作需要历史数据的支持,比如网络游戏、角色的各种属性、升级和装备都需要历史数据的支持。不能说已断开连接就重头开始。
我们在学Cookie和Session技术时,提过HTTP是无状态的协议
在接触restful风格时,提到说:所有的操作都是无状态的
所以对状态的理解,可以是,
它只代表、负责它自己,叫无状态
我爱罗,只爱自己的修罗,只爱自己,只为自己而活 (有点应景了四不四)
它可能与其它相关,有上下文,叫有状态
最后引一段B乎的可爱解释
有状态:
A:你今天中午吃的啥?
B:吃的大盘鸡。
A:味道怎么样呀?
B:还不错,挺好吃的。
无状态:
A:你今天中午吃的啥?
B:吃的大盘鸡。
A:味道怎么样呀?
B:???啊?啥?啥味道怎么样?
所以需要cookie这种东西:
A:你今天中午吃的啥?
B:吃的大盘鸡。
A:你今天中午吃的大盘鸡味道怎么样呀?
B:还不错,挺好吃的。