Web有状态无状态分析

参考:http协议和web应用有状态和无状态浅析

http协议——无连接、无状态

总结

  • Web应用 = http协议 + session、cookies等状态机制 + 其他辅助机制

  • http协议本身是无状态的

分析

1、何为有状态无状态

  • 有状态性就是受前面请求应答情况的影响,或者影响着之后的通信过程。
  • 无状态性就是每次的请求都是独立的,没有上下文关系。

2、协议有无状态分析

(1)IP是无状态的,只负责将一个IP包发送到指定IP地址,不考虑前后传输的联系。

(2)TCP是有状态的,它是可靠的传输,面向连接,三次握手保证可靠连接。

(3)UDP是无状态的,只是在IP上加了个port,不是可靠传输,面向无连接。

(4)Http是无状态的,尽管http底层是有状态的TCP实现,但是就http本身而言,两次http协议包之间没有联系。

(5)web应用是有状态的,因为在http协议基础上引入了session、cookies等机制

3、http为何不直接设计为有状态的

  • 从历史角度,让http无状态,在web应用还很简单的时候,只是浏览内容,无状态的协议足以,并且减少实现负担。
  • 但是随着发展,web应用需要对http提出有状态的要求,不光要浏览内容,还要保存用户信息等
  • 按照软件领域的通常做法:保持历史遗留经验(不在http协议本质上做大改动),兼容过去的软件。在http协议上加一层实现有状态,这一层就是session、cookies等有状态机制。并且这样加一层的实现并不麻烦。
posted @ 2021-02-26 12:16  Jayzou11223  阅读(226)  评论(0编辑  收藏  举报