HTTP是无状态的。
服务器
好处:并发
由于服务器没有“记忆能力”,因此就不须要额外的资源来记录状态信息,不只实现上会简单一些,并且还能减轻服务器的负担,可以把更多的 CPU 和内存用来对外提供服务。负载均衡
并且,“无状态”也表示服务器都是相同的,没有“状态”的差别,因此能够很容易地组成集群,让负载均衡把请求转发到任意一台服务器,不会由于状态不一致致使处理出错,使用“堆机器”的“笨办法”轻松实现高并发高可用。ide
坏处:
高并发
既然服务器没有“记忆能力”,它就没法支持须要连续多个步骤的“事务”操做。例如电商购物,首先要登陆,而后添加购物车,再下单、结算、支付,这一系列操做都须要知道用户的身份才行,但“无状态”服务器是不知道这些请求是相互关联的。性能
不过,Cookie 技术能够解决这个问题。事务
补充:内存
队头阻塞资源
请求 - 应答 模式加重了 HTTP 的性能问题,这就是著名的“队头阻塞”(Head-of-line blocking)。it
当顺序发送的请求序列中的一个请求由于某种缘由被阻塞时,在后面排队的全部请求也一并被阻塞,会致使客户端迟迟收不到数据。