HTTP学习笔记6 首部字段类型 通用首部字段

HTTP首部字段:给浏览器和服务器提供报文主体大小、语言、认证内容等诸多额外的信息

首部字段格式字段名:字段值1 [,字段值2] [,字段值3] [....]

首部字段类型

  • 按实际用途划分:通用首部字段、请求首部字段、响应首部字段、实体首部字段
  • 按是否缓存代理的行为划分:端到端首部(End to end Header)、逐跳首部(Hop by hop Header)

端到端首部:此类别的首部将转发给请求或响应的最终目标,经过代理时,也必须保存在由缓存生成的响应中,必须被转发。
逐跳首部:此类别的首部只对单次转发有效,经过缓存或代理时,将会失效。
在HTTP/1.1中的逐跳首部有8个,其余都为端到端首部,这8个为:Connection、Keep-Alive、Proxy-Authorization、Trailer、TE、Transfer-Encoding、Upgrade
(如果要使用逐跳首部,必须提供Connection字段,例如Connection:Keep-Alive


通用首部字段:

① Cahe-Control:操作缓存

缓存请求指令:

  • no-cache:强制向服务器验证缓存有效期,无论缓存是否过期
  • no-store:不使用缓存
  • max-age=[秒]:接受缓存已保存的最大时间值,若缓存保存已超过该时间,则不会接受缓存(在Http/1.1中,同时存在max-age和Expires首部字段时,会忽略Expires,而在Http/1.0时,会忽略max-age)
  • max-stale(=[秒]):可接受缓存的最大保存时间,不管是否过期,时间可省略
  • min-fresh=[秒]:缓存的已保存时间加上该数值若未超过缓存的有效期,则可接受该缓存
  • no-transform:代理不可更改媒体类型
  • only-if-cached:只接受缓存资源,不会验证有效期,若无响应则返回504 网关超时状态码

缓存响应请求:

  • public:表明响应可以被任何对象(包括:发送请求的客户端,代理服务器,等等)缓存,即使是通常不可缓存的内容。
  • private:表明响应只能被单个用户缓存,不能作为共享缓存(即代理服务器不能缓存它)。私有缓存可以缓存响应内容,比如:对应用户的本地浏览器
  • no-cache:缓存前需确定有效性
  • no-store:不使用缓存
  • no-transform:代理不可更改媒体类型
  • must-revalidate:若缓存过期后,必须再向源服务器验证有效期,会忽略max-stale指令
  • proxy-revalidate:与must-revalidate类似,但只限定于代理服务器
  • max-age=[秒]:将资源作为缓存保存的最长时间,在此期间不再确认有效期
  • s-maxage=[秒]:与max-age类似,但只适用于公共的缓存服务器(会忽略max-age以及Expires)

示例:Cache-Control:private,max-age=0,no-cache

② Connection:控制逐跳首部、管理持久连接
关闭持久连接:Connection:close
在旧版本http协议上维持持久连接:

Connection:keep-alive
Keep-Alive:timeout=10,max=500

③ Date:创建Http报文的日期和时间

④ Pragma:为兼容低版本Http协议的缓存字段,常与Cache-Control一起使用

Pragma:no-cache
Cache-Control:no-cache

⑤ Trailer:应用于Http/1.1分块传输编码时,说明报文主体后记录了哪些首部字段

Transfer-Encoding:chunked
Trailer:Expires

⑥ Transfer-Encoding:传输时采用的编码方式,Http/1.1仅对分块编码有效

⑦ Upgrade:使客户端或邻接服务器升级协议版本

Upgrade:TLS/1.0
Connection:upgrade

⑧ Via:追踪客户端与服务器之间的请求和响应报文的传输路径,常与Trace方法连用,详见本博客代理那一节笔记

⑨ Warning:告知用户一些关于缓存的警告信息
格式 warning:[警告码] [警告主机:端口号] ["警告内容"] (日期)
例如:

  • 110 response is stale 代理返回的资源已过期
  • 111 revalidation failed 验证资源失败
  • 113 heuristic expiration 响应有效期大于24小时,试探性过期
  • 214 transformation applied 媒体类型被代理改变
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值