HTTP的无状态

HTTP是无状态的。
服务器


好处:并发

由于服务器没有“记忆能力”,因此就不须要额外的资源来记录状态信息,不只实现上会简单一些,并且还能减轻服务器的负担,可以把更多的 CPU 和内存用来对外提供服务。负载均衡

并且,“无状态”也表示服务器都是相同的,没有“状态”的差别,因此能够很容易地组成集群,让负载均衡把请求转发到任意一台服务器,不会由于状态不一致致使处理出错,使用“堆机器”的“笨办法”轻松实现高并发高可用。ide


坏处:
高并发

既然服务器没有“记忆能力”,它就没法支持须要连续多个步骤的“事务”操做。例如电商购物,首先要登陆,而后添加购物车,再下单、结算、支付,这一系列操做都须要知道用户的身份才行,但“无状态”服务器是不知道这些请求是相互关联的。性能

不过,Cookie 技术能够解决这个问题。事务


补充:内存

队头阻塞资源

请求 - 应答 模式加重了 HTTP 的性能问题,这就是著名的“队头阻塞”(Head-of-line blocking)。it

当顺序发送的请求序列中的一个请求由于某种缘由被阻塞时,在后面排队的全部请求也一并被阻塞,会致使客户端迟迟收不到数据。

相关文章
相关标签/搜索