HTTP协议|青训营笔记

69 阅读1分钟

HTTP协议

  1. 请求响应
  2. 简单可扩展
  3. 无状态
  4. 超文本传输协议
  5. 应用层协议 => 基于TCP协议

协议分析发展

  1. HTTP/0.9

    • 请求 GET/mypage.html
    • 响应只有HTML文档
  2. HTTP/1.0

    • 增加了Header
    • 有了状态码
    • 支持多种文档类型
  3. HTTP/1.1

    • 链接复用
    • 缓存
    • 内容协商

HTTP/2协议:更快、更稳定、更简单

  • 帧:HTTP/2通信的最小单位 => 二进制编码
  • 消息:与逻辑请求或响应信息对应的完整的一系列帧
  • 数据流:已建立的连接内的双向字节流,可以承载一条或多条信息 => 交错发送,接收方重组织
  • HTTP/2连接都是永久的,而且仅需每个来源一个连接
  • 流控制:阻止发送方向接收方发送大量数据的机制

状态码

cookie 请求状态 => 有cookie并且同域访问时会自动带上

缓存

强缓存

  • Expires,时间戳

  • Cache-control

    • 可缓存性

      • no-cache:协商缓存验证
      • no-store:不使用任何缓存
    • 到期

      • max-age:单位是秒,存储的最大周期,相对于请求的时间
    • 重新验证*重新加载

      • must-revalidate:一旦资源过期,在成功向原始服务器验证之前,不能使用

协商缓存

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

浏览器缓存.drawio.png

HTTPS:经过TSL/SSL加密

  • 对称加密:加密和解密都是使用同一个密钥
  • 非对称加密:加密和解密使用两个不同的密钥 => 公钥和私钥