HTTP 首部

1 HTTP 首部字段

  • 作用:HTTP 首部字段传递重要信息。

  • 结构:字段值可以有多个,用逗号分隔。

    在这里插入图片描述

  • 类别

    • 通用首部字段(General Header Fields):请求报文和响应报文两方都会使用的首部。

      在这里插入图片描述

    • 请求首部字段(Request Header Fields):从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。

      在这里插入图片描述

    • 响应首部字段(Response Header Fields):从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加 内容,也会要求客户端附加额外的内容信息。

      在这里插入图片描述

    • 实体首部字段(Entity Header Fields):针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更 新时间等与实体有关的信息。

      在这里插入图片描述

1.1 End-to-end 首部和 Hop-by-hop 首部
  • 端到端首部(End-to-end Header):分在此类别中的首部会转发给请求 / 响应对应的最终接收目标,且必须保存在由缓存生成的响应中,另外规定它必须被转发。
  • 逐跳首部(Hop-by-hop Header):分在此类别中的首部只对单次转发有效,会因通过缓存或代理而不再转发。HTTP/1.1和之后版本中,如果要使用 hop-by-hop 首部,需提 供 Connection 首部字段。

在这里插入图片描述

2 HTTP/1.1 通用首部字段

  • 定义:通用首部字段是指,请求报文和响应报文双方都会使用的首部。
2.1 Cache-Control
  • 作用:首部字段 Cache-Control 能够控制缓存的行为。

  • 格式

    在这里插入图片描述

  • Cache-Control 指令一览

    • 在这里插入图片描述
      在这里插入图片描述

    • no-cache与no-store差异:no-cache代表不接受过期的资源,缓存在被使用前会先向源服务器进行有效性确认。no-store 才是真正地不进行缓存。

    • s-maxage:s-maxage指令的功能和max-age指令的相同,它们的不同点是s-maxage指令只适用于供多位用户使用的公共缓存服务器。

2.2 Connection
  • 作用

    • 控制不再转发给代理的首部字段

      在这里插入图片描述

    • 管理持久连接

      在这里插入图片描述

2.3 Date
  • 定义:首部字段 Date 表明创建 HTTP 报文的日期和时间。

    在这里插入图片描述

2.4 Pragma
  • 定义:Pragma 是 HTTP/1.1 之前版本的历史遗留字段,仅作为与 HTTP/1.0 的向后兼容而定义。等同于Cache-Control: no-cache

    所有的中间服务器如果都能以 HTTP/1.1 为基准,那直接采用 CacheControl: no-cache 指定缓存的处理方式是最为理想的。但要整体掌握全部中间服务器使用的 HTTP 协议版本却是不现实的。因此,发送的请求会同时含有下面两个首部字段。

    在这里插入图片描述

2.5 Trailer
  • 定义:首部字段 Trailer 会事先说明在报文主体后记录了哪些首部字段。该首部字段可应用在 HTTP/1.1 版本分块传输编码时。

    在这里插入图片描述

2.6 Transfer-Encoding
  • 定义:首部字段 Transfer-Encoding 规定了传输报文主体时采用的编码方式。HTTP/1.1的传输编码方式仅对分块传输编码有效。

    在这里插入图片描述

2.7 Upgrade
  • 定义:首部字段 Upgrade 用于检测 HTTP 协议及其他协议是否可使用更高的 版本进行通信,其参数值可以用来指定一个完全不同的通信协议。

  • 规则

    • 使用首部字段 Upgrade 时,还需要额外指定 Connection:Upgrade。
    • 对于附有首部字段 Upgrade 的请求,服务器可用 101 Switching Protocols 状态码作为响应返回。

    在这里插入图片描述

2.8 Via
  • 作用:使用首部字段 Via 是为了追踪客户端与服务器之间的请求和响应报文的传输路径。避免请求回环的发生。

  • 流程:报文经过代理或网关时,会先在首部字段 Via 中附加该服务器的信息,然后再进行转发。

    在这里插入图片描述

2.9 Warning
  • 作用:该首部通常会告知用户一些与缓存相关的问题的警告。

  • 格式

    在这里插入图片描述

  • 类别

    在这里插入图片描述

3 为 Cookie 服务的首部字段

在这里插入图片描述

  • Set-Cookie

    • 格式

      在这里插入图片描述

    • 字段值的说明

      在这里插入图片描述

  • Cookie:首部字段 Cookie 会告知服务器,当客户端想获得 HTTP 状态管理支持时,就会在请求中包含从服务器接收到的 Cookie。接收到多个 Cookie 时,同样可以以多个Cookie形式发送。

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值