day2-HTTP协议和http1、2、3 | 青训营笔记

92 阅读4分钟

HTTP协议是Web应用程序和Web服务器之间的通信协议。它是一个客户端-服务器协议,客户端发出HTTP请求,服务器返回HTTP响应。HTTP协议被广泛应用于互联网中的各种Web应用程序,如网页浏览、文件传输、电子邮件等等。本次笔记简单介绍HTTP协议和http1、2、3 各版本发展与异同。

HTTP/1.0

HTTP/1.0是第一个正式发布的HTTP协议版本。它使用了请求-响应模型,即客户端发出一个HTTP请求,服务器返回一个HTTP响应。HTTP/1.0的请求和响应都是明文的,没有加密保护,容易被窃听和篡改。HTTP/1.0也没有支持持久连接,每次请求都需要重新建立连接,导致了很多不必要的网络延迟和资源浪费。

HTTP/1.1

为了解决HTTP/1.0的一些问题,HTTP/1.1版本被开发出来。HTTP/1.1增加了很多新特性,包括:

  1. 持久连接:HTTP/1.1支持在一个TCP连接上传输多个HTTP请求和响应,避免了建立和关闭多个连接带来的延迟和资源浪费。
  2. 分块传输编码:HTTP/1.1支持分块传输编码,可以将大文件分成多个块进行传输,提高了数据传输的效率。
  3. 缓存:HTTP/1.1支持缓存机制,可以减少网络传输的数据量,加快了页面加载速度。

HTTP/2

HTTP/2是HTTP/1.1的升级版本,它在HTTP/1.1的基础上进一步优化了网络传输效率。HTTP/2使用了二进制协议,将请求和响应分成多个帧(frame)进行传输,可以在一个TCP连接上同时传输多个请求和响应,避免了传统的序列化请求和响应带来的延迟。此外,HTTP/2还支持头部压缩技术,可以减少头部数据的传输量,提高了数据传输效率。

HTTP/3

HTTP/3是HTTP协议的最新版本,它基于QUIC协议,是一种基于UDP的可靠传输协议。HTTP/3在HTTP/2的基础上进一步提高了网络传输效率和安全性。HTTP/3使用了TLS 1.3协议进行加密保护,可以防止中间人攻击。此外,HTTP/3还支持0-RTT技术,可以减少建立连接的延迟,提高了网络传输效率。

总结

HTTP协议是Web应用程序和Web服务器之间的通信协议,不断发展和升级以满足不断增长的网络应用案例,展示HTTP协议在实际应用中的作用。以购物网站为例,客户可以通过HTTP协议发送请求,服务器返回HTTP响应,完成用户浏览商品、下订单、付款等操作。

当用户在购物网站浏览商品时,客户端发送HTTP GET请求给服务器,请求服务器返回商品列表信息。服务器收到请求后,查询商品数据库,返回商品信息的HTTP响应给客户端。

当用户选择某个商品并下订单时,客户端发送HTTP POST请求给服务器,请求服务器接受订单信息。服务器收到请求后,将订单信息保存到订单数据库中,并返回订单确认信息的HTTP响应给客户端。

当用户付款时,客户端发送HTTP POST请求给服务器,请求服务器接受付款信息。服务器收到请求后,将付款信息发送到支付网关,等待支付网关返回付款确认信息。一旦收到支付确认信息,服务器将订单状态改为已付款,并返回付款成功信息的HTTP响应给客户端。

可以看到,HTTP协议在购物网站中发挥了非常重要的作用,它负责客户端和服务器之间的通信,实现了网站的各种功能。HTTP/1.0、HTTP/1.1、HTTP/2和HTTP/3都是HTTP协议的不同版本,每个版本都在不同的方面进行了改进和优化,以满足不断增长的互联网应用需求。