如果HTTP协议是有状态的怎么办?

时间:2018-05-16 10:34:19

标签: http protocols

我知道HTTP是无状态协议。但是对HTTP协议的无状态没有正确的解释。为什么HTTP协议是无状态的?当HTTP协议有状态时会发生什么?

1 个答案:

答案 0 :(得分:3)

  

对HTTP协议的无状态没有正确的解释。

您可能错过了RFC 7230,这是定义HTTP协议的文档之一。请参阅下面的一些引用:

  

HTTP是一种无状态请求/响应协议     通过可靠的传输交换消息     会话层“连接”。 [...]

  

HTTP被定义为无状态协议,意味着每个请求     消息可以孤立地理解。许多实现依赖     在HTTP的无状态设计上,以便重用代理连接或     跨多个服务器动态加载平衡请求。 [...]

  

当HTTP协议有状态时会发生什么?

不会发生: HTTP不是有状态的,不会是

RFC 6265定义了HTTP中的状态管理的一些机制,例如cookie,但它不会使HTTP成为有状态。

RFC 7230中所述,HTTP / 1.1支持“持久连接”,允许通过单个连接承载多个请求和响应,但它也不会生成HTTP无论如何都是一个有状态的协议。

如果您需要有状态协议,可以查看RFC 6455中定义的WebSockets。它可以与HTTP共存,并可以部署在HTTP基础架构中。