HTTP的前世今生 | 青训营笔记

104 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第3篇笔记

在“HTTP框架修炼之道”这一课中,老师在介绍完HTTP协议的具体内容之后,对HTTP协议的发展与迭代进行了介绍。在这一篇笔记里,我总结了老师关于HTTP协议发展的介绍。

http属于TCP/IP模型中的应用层协议,而两个应用程序(此处指浏览器与服务器)之间要进行相互通信,首先得建立TCP连接,然后浏览器才能向服务器发送请求信息,服务器在接受到请求信息后,返回相应的应答信息,浏览器接收到来自服务器的应答信息后,对这些数据进行解释执行。

  • HTTP1 在http1.0的版本中,浏览器的每次请求(即对每个页面的访问)都要求建立一次单独的TCP连接,在处理完每一个的请求后,就自动释放连接。也就是说,在http1.0中,当建立连接后,客户端发送一个请求,服务器端返回一个信息后就关闭连接,当浏览器下次请求的时候又要建立连接,显然这种不断建立连接的方式,会造成很多问题。 HTTP1中存在的主要问题有如下三点:
  •  队头阻塞
    
  •  传输效率低
    
  •  明文传输不安全
    
  • HTTP2 http2则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。也就说,在http2中,引入了持续连接的概念,通过这种连接,浏览器可以建立一个连接之后,发送请求并得到返回信息,然后继续发送请求再次等到返回信息,即客户端可以连续发送多个请求,而不用等待每一个响应的到来 HTTP1中的主要特点有如下三点:
  •  多路复用
    
  •  头部压缩
    
  •  二进制协议
    
  • QUIC QUIC是HTTP1与HTTP2之后更加先进的技术,有如下四个特点:
  •  基于UDP实现
    
  •  解决对头阻塞
    
  •  加密减少握手次数
    
  •  支持快速启动