我知道 HTTP 是一种无状态协议。但是对于 HTTP 协议的无状态没有正确的解释。为什么 HTTP 协议是无状态的?当 HTTP 协议有状态时会发生什么?
HTTP 协议的无状态没有正确的解释。
您可能错过了RFC 7230,它是定义 HTTP 协议的文档之一。请参阅下面的一些引用:
HTTP 是一种无状态的请求/响应协议,它通过跨可靠的传输层或会话层“连接”交换消息来运行。[...]
HTTP 被定义为无状态协议,这意味着可以孤立地理解每个请求消息。许多实现依赖于 HTTP 的无状态设计,以便重用代理连接或跨多个服务器动态负载平衡请求。[...]
当 HTTP 协议有状态时会发生什么?
它不会发生:HTTP 不是有状态的,也不会是.
在RFC 6265个定义了一些机制,状态管理HTTP,如饼干,但它不会使HTTP状态。
如RFC 7230中所述,HTTP/1.1 支持“持久连接”,允许通过单个连接承载多个请求和响应,但它也不会以任何方式使 HTTP 成为有状态协议。
如果您需要有状态协议,您可以查看RFC 6455 中定义的 WebSockets 。它可以与 HTTP共存,可以部署在 HTTP 基础设施中。
| 归档时间: |
|
| 查看次数: |
922 次 |
| 最近记录: |