(面试)http首部字段汇总

989 阅读3分钟
http协议的请求和响应报文中必定包含http首部,只是平时我们在使用Web的过程中感受不到它,对它关注的也不是很多,最近在阅读《图解HTTP》,学习一下HTTP首部的结构,已经首部中各字段的用法。

HTTP报文首部

HTTP协议的请求和响应报文中必定包含HTTP首部,首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。列了一个请求和响应报文的大致结构脑图





HTTP报文结构

请求和响应中都会存在着首部字段,它们为浏览器和服务器,传递额外重要信息。
通常HTTP首部字段由首部字段名和字段值,中间以":"分割组成:

Request Method: GET

字段值对应单个HTTP首部字段可以有多个值:

cache-control: public, max-age=0

首部字段类型

HTTP首部字段根据实际用途分为4中类型。

通用首部字段: 请求报文和响应报文两方都会使用到的首部。

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

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

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

通用首部字段

首部字段名 说明
Cache-Control 控制缓存行为
Connection 逐跳首部、连接的管理
Date 创建报文的日期时间
Pragma 报文指令
Transfer-Encoding 指定报文传输主体的编码方式
Upgrade 升级为其他协议
Via 代理服务器的相关信息
Warning 错误通知

请求首部字段

首部字段名 说明
Accept 用户代理可以处理的媒体类型
Accept-Charset 优先的字符集
Accept-Encoding 优先的内容编码
Authorization Web认证信息
Except 期待服务器的特定行为
Host 请求资源所在的服务器
if-Match 比较实体标记(ETag)
if-Modified-Since 比较资源的更新时间
Range 实体的字节范围请求
Refer 实体的字节范围请求
TE 传输编码的优先级
User-Agent HTTP客户端程序的信息

响应首部字段

首部字段名 说明
Accept-Ranges 是否接受字节范围请求
Age 推算资源创建经过的时间
ETag 资源的匹配信息
Location 令客户端重定向至指定UPI
Proxy-Authenticate 代理服务器对客户端的认证信息
WWW-Authenticate 服务器对客户端的认证信息
Server HTTP服务器的安装信息
Vary 代理服务器的管理信息

实体首部字段

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