【HTTP】HTTP报文首部之通用首部详解

这篇文章,单独来讲讲HTTP/1.1通用首部字段的内容:

  • Cache-Control
  • 控制缓存的行为,可用于请求及响应时.
    缓存请求指令:

    指令参数说明
    no-cache强制向源服务器再次验证
    no-store使用该指令时,暗示请求中包含机密信息.故该指令规定缓存不能在本地存储请求的任一部分
    max-age=[秒]必须响应的最大Age值
    max-stale(=[秒])可省略可指示缓存资源,如果指令未指定参数值,无论过多久,都会接收响应;若指定了具体数值,即使过期,只要仍处于max-stale指定的时间内,仍旧会被客户端接收
    min-fresh=[秒]必须期望在指定时间内的响应仍有效
    no-transform代理不可更改媒体类型
    only-if-cached该指令要求缓存服务器不重新加载效应,也不会再次确认资源有效性.若发生请求缓存服务器的本地缓存无响应,则会返回状态码504 Gateway Time-out
    cache-extension-新指令标记(token)

    缓存响应指令:

    指令参数说明
    public可向任意方提供响应的缓存
    private可省略仅向特定用户返回响应
    no-cache缓存前必须先确认其有效性
    no-store使用该指令时,暗示响应中包含机密信息.故该指令规定缓存不能在本地存储响应的任一部分
    no-transform代理不可更改媒体类型
    must-revalidate代理会向源服务器再次验证即将返回的响应缓存目前是否仍然有效,若代理无法连接源服务器再次获取有效资源时,缓存必须给客户端一条504状态码
    proxy-revalidate中间缓存服务器对缓存的响应有效性再进行确认
    max-age=[秒]必须响应的最大Age值
    s-maxage=[秒]必须公共缓存服务器响应的最大Age值.只适用于供多位用户使用的公共缓存服务器,对于向同一用户重复返回响应的服务器来说,这个指令没有任何作用
    cache-extension-新指令标记(token)
  • Connection
  • 控制不再转发给代理的首部字段:
    用法:Connection:不再转发的首部字段名

  • Date
  • 表明创建HTTP报文的日期和时间

  • Pragma
  • HTTP/1.1之前版本的历史遗留字段,仅作为与HTTP/1.0的向后兼容定义
    用法:Pragma:no-cache
    该首部字段属于通用首部字段,但只用在客户端发送的请求中.所有的中间服务器如果都能以HTTP/1.1为基准,直接采用Cache-Control:no-cache即可,但是不现实,所以发送的请求中会同时含有以下两个首部字段:Cache-Control:no-cache和Pragma:no-cache

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

  • Transfer-Encoding
  • 规定了传输报文主体时采用的编码方式,仅对分块传输编码有效

  • Upgrade
  • 用于检测HTTP协议及其他协议是否可使用更高的版本进行通信

  • via
  • 追踪客户端与服务器之间的请求和响应报文的传输路径

  • Warning
  • 通常告知用户一些与缓存相关问题的警告.格式如下:
    Warning: [警告码] [警告的主机:端口号] “[警告内容]” ([日期时间])
    HTTP/1.1警告码具体如下:

    警告码警告内容说明
    110Response is stale(响应已过期)代理返回已过期的资源
    111Revalidation failed(再验证失败)代理再验证资源有效性时失败(服务器无法到达等原因)
    112Disconnection operation(断开连接操作)代理与互联网连接被故意切断
    113Heuristic expiration(试探性过期)响应的使用期超过24小时(有效缓存的设定时间大于24小时情况下)
    199Miscellaneous warning(杂项警告)任意的警告内容
    214Transformation applied(使用了转换)代理对内容编码或媒体类型等执行了某些处理时
    299Miscellaneous persistent warning(持久杂项警告)任意的警告内容

    HTTP报文首部之通用首部详解到此结束,感谢您的阅读~
    最后,祝每一位改变世界的程序员,节日快乐~

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值