Http1.0 Http1.1 Http2.0

403 阅读1分钟

Http1.0特性

  • 快速灵活:可以选择多种传输的方式和传输的数据类型
  • 无连接:一次连接只处理一次请求,客户端发起请求,服务器响应报文后,就会断开连接
  • 无状态:对事务处理没有记忆性,如果需要进行后续的处理,则需要重传数据

无连接造成性能缺陷

1、无法复用请求,每次发送请求,都要进行tcp连接(经历三次握手和四次挥手)过程,网络利用效率低;

2、队头阻塞,http1.0规定,只有上次请求服务器响应后,才能进行下一次请求,如果上一个请求发生阻塞,后面的请求也会阻塞;


Http1.1特性

  • 长连接:可以设置Connection为keep-alive,使得http为长连接状态,不用每次服务器处理完一次请求后就断开tcp连接
  • 管道化:在上次请求服务器未响应的情况下,客户端可以继续发起多个请求,服务器响应顺序按照请求的顺序依次响应
  • 缓存处理:新增字段Cache-Control
  • 断点传输:如果传输的资源过大,可以将资源分割为小部分进行传输。如果发生网络故障,可以从上次资源成功传输的位置继续传输


Http2.0特性

  • 二进制分帧:将传输的资源分割为更小的消息和帧,使用二进制编码
  • 多路复用
  • 头部压缩
  • 服务器推送:服务器可以主动向客户端推送资源,而不用客户端主动明确需求