第七节学习笔记| 青训营

111 阅读3分钟

HTTP协议

QQ截图20230808142253.png

当谈到HTTP协议*(Hypertext Transfer Protocol)*,我们实际上是在谈论在Web上进行数据传输的一种规范。HTTP协议是一种客户端-服务器协议,用于在Web浏览器和Web服务器之间传输数据。它是Web的基础,并且在Web应用中起着至关重要的作用。

QQ截图20230808155037.png

HTTP/0.9

  • HTTP的最早版本,1991年首次发布。
  • 非常简单,只能传输纯文本的HTML文件。
  • 每个请求都是一个单独的TCP连接,请求后服务器会立即返回响应并关闭连接。

HTTP/1.0

  • 1996年发布,引入了更多功能和灵活性。
  • 支持多种数据格式,不再局限于HTML。
  • 引入了请求头和响应头,以及HTTP状态码(如200、404)。
  • 支持持久连接,即一个连接可以传输多个请求和响应,减少了连接的开销。

HTTP/1.1

  • 1999年发布,是当前广泛使用的版本。
  • 引入了许多性能优化,如复用连接、流水线化请求等。
  • 支持虚拟主机,使得一台服务器可以托管多个域名。
  • 引入了缓存控制、压缩传输、分块传输编码等特性,提升了效率。

HTTP/2

  • 2015年发布,着重于性能优化。
  • 使用二进制格式而非文本,更高效地解析。
  • 多路复用:一个连接上可以并行传输多个请求和响应,减少了延迟。
  • 首部压缩:减少了重复的头信息传输。
  • 服务器推送:服务器可以在客户端请求之前主动推送资源,提高加载速度。

HTTP/3

  • 2020年发布,正在逐步普及。
  • 基于QUIC协议,以UDP为基础,旨在解决TCP的一些问题。
  • 改进了性能和安全性,尤其在高延迟网络环境中更加优秀。
  • 引入了快速握手和连接迁移,提升了连接的建立速度和稳定性。

Method

在Java也有Method,Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可。
而在HTTP标准中,Method是HTTP的请求方法、

QQ截图20230808155046.png

状态码

HTTP 响应状态码用来表明特定 HTTP 请求是否成功完成。 响应被归为以下五大类:

  1. 信息响应 (100199)
  2. 成功响应 (200299)
  3. 重定向消息 (300399)
  4. 客户端错误响应 (400499)
  5. 服务端错误响应 (500599)

QQ截图20230808155059.png

缓存

强缓存

Expires,时间戳
Cache- Control:
可缓存性
no-cache :协商缓存验证
no-store :不使用任何缓存
到期:
max-age :单位是秒,存储的最大周期,相对于请求的时间
重新验证*重新加载:
must-revalidate :一旦资源过期,在成功向原始服务器验证之前,不能使用

协商缓存

Etag/lf-None-Match :资源的特定版本的标识符,类似于指纹
Last- Modified/lf- Modified-Since :最后修改时间

cookie

QQ截图20230808160802.png