HTTP——报文

引言

无论是从事 Web 前端或者后端的同学,对 HTTP 报文应该都是最熟悉的陌生人。为什么这么说呢?熟悉在于每一次接口对接、联调都避免不了去 Network 里面看请求的 params、response、URI 等等。其实这些已经是 HTTP 报文的一部分了,但是需要注意的是仅仅是一部分,HTTP 还有很多的请求首部字段、响应首部字段、通用首部字段、实体首部字段(PS:我之前看的一些博客称这些为请求标头、响应标头,说实话这种不专业的名词简直就是误人子弟!)等等。

HTTP 报文可以分为请求报文响应报文,每一种报文都是有报文首部、空行(CR+LF)、报文主体。其中,请求报文首部和响应报文首部有如下区别:

  • 请求报文由请求行(方法、URI、HTTP版本)、请求首部字段、通用首部字段、实体首部字段、其他构成
  • 响应报文由状态行、响应首部字段、通用首部字段、实体首部字段、其他构成

从上面的请求报文和响应报文首部的构成可以得知,最重要的是四种首部字段

请求首部字段

首部字段名说明
Accept用户代理可处理的媒体类型( text/html,application/xhtml+xml 等)
Accept-Charset优先的字符集
Accept-Encoding优先的内容编码
Accept-Language优先的语言
AuthorizationWeb 认知信息
Expect期待服务器特定的行为
From用户的邮箱地址
Host请求资源所在的地址
If-Match比较实体标记(ETag,常用于 Web 应用的缓存)
If-Modified-Since比较实体的更新时间
If-None-Match比较实标记(和 If-Match 相反,即没有 Match 到)
If-Range资源未更新时发送实体 Byte 范围的请求
If-Unmodified-Since比较资源的更新时间
Max-Forwards最大传输逐跳数
Proxy-Authorization代理服务器要求的客户端信息
Range实体的字节范围请求
Referer请求 URI 的原始获取方
TE传输编码的优先级
User-AgentHTTP 客户端程序的信息(简称 UA)

响应首部字段

首部字段名说明
Accept-Ranges是否接收字节范围的请求
Age推算资源创建经过时间
ETag资源的匹配信息
Location令客户端重定向至指定 URI
Proxy-Authenticate代理服务器对客户端的认证信息
Retry-After对再次发起请求的时机要求
ServerHTTP 服务器的安装信息
Vary代理服务器缓存的管理信息
WWW-Authenticate代理服务器对客户端的认知信息

实体首部字段

首部字段名说明
Allow资源可支持的 HTTP 方法
Content-Encoding实体主体支持的编码方式
Content-Language实体主体的自然语言
Content-Length实体主体的大小(Byte)
Content-Location替代资源对应的 URI
Content-MD5实体主体的报文摘要
Content-Range实体主体的位置范围
Content-Type实体主体的媒体类型
Expires实体主体过期的日期时间
Last-Modified资源的最后修改日期时间

通用首部字段

首部字段名说明
Cache-Control控制缓存的行为
Date创建报文的日期时间
Connection逐跳首部、连接的管理
Progma报文指令
Trailer报文末端的首部一览
Transfer-Encoding指定报文主体的传输编码方式
Upgrade升级为其他协议
Via代理服务器通知
Warning错误通知
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值