结合其他回答,我理解的是:

协议的实现有没有要求客户端或者服务端需要维护一个状态。比如 tcp 传输需要经过握手来初始化事务(数据完整性的校验等),所以它是有状态的

显然 http 协议本身并没有要求这个,而 cookie 或 session 是浏览器和服务器在 http 协议之上,通过每次给本身并没有状态的请求中添加上某些约定的字段来实现的状态标记

再拿 udp 举例子,它也是无状态传输协议的一种,它只负责发送数据并不需要知道上一次和谁连接过。而如果你每次通过 udp 传输的时候都带上某个固定字段,实际上这种行为就类似于 cookie 或 session,是应用层的行为而不是协议层


 评论