目录
http 1.0
早先1.0
的HTTP
版本,是一种无状态、无连接的应用层协议。
http 1.0要制定 keep-alive 来开启持久连接,默认是短连接,就是每次浏览器请求都要重新建立一次 tcp 连接,即无状态。
服务器不跟踪每个客户端也不记录过去的请求(无状态),只能通过借助cookie/session
机制来做身份认证和状态记录。
早期的网页大多是文字,后面随着页面的丰富,需要加载更多的资源,如css、js、图片等,并且一个请求要在上一个请求得到响应后才能发起,所以http协议不得不升级...
http 1.1
默认支持长连接,http 1.1增加了一个Connection
字段,通过设置Keep-Alive
可以保持HTTP
连接不断开,避免了每次客户端与服务器请求都要重复建立释放建立TCP
连接,提高了网络的利用率。如果客户端想关闭HTTP
连接,可以在请求头中携带Connection: false
来告知服务器关闭请求。
支持并行发送请求,但同一时间只能响应一条请求。
http 1.1还增加了 Host头(使得一个服务器能够用来创建多个Web站点)。
http 2.0
支持多路复用,基于一个 tcp 连接并行发送多个请求以及接受响应;
二进制分帧,将数据拆分成更小的帧,提高了性能,实现了低延迟高吞吐。