结合搜索了许多资料发现,Http的无状态其实与session和cookie没什么必要的关联,它描述的主要是通信协议层面的问题
/ / /首先作为对比,许多七层协议就是有状态的,比如SMTP协议,他的第一条消息必须是一条hello消息,最后在saybay后才断开,在整个传输层上,双方都明确知道对放在什么状态,并且对对方的状态做出反应,不同的状态下能接受的命令也是不同的。
/ / / 相反,http的协议无状态是因为他的每一条信息都是相对完全独立的,每个请求不依赖于其他请求的数据,不会对状态进行改变。比如在同时发出100个请求的情况下,即使前99个请求因为种种原因没能发送成功,第100个请求也会照常完成
最后借用知乎某大佬的例子:
有状态:A:你今天中午吃的啥?B:吃的大盘鸡。A:味道怎么样呀?B:还不错,挺好吃的。
无状态:A:你今天中午吃的啥?B:吃的大盘鸡。A:味道怎么样呀?B:???啊?啥?啥味道怎么样?
所以需要cookie这种东西:A:你今天中午吃的啥?B:吃的大盘鸡。A:你今天中午吃的大盘鸡味道怎么样呀?B:还不错,挺好吃的。