HTTP Header 详解

HTTP首部字段是构成HTTP报文的要素之一,在客户端和服务器之间以HTTP协议进行通信的过程中,无论是请求还是响应都会使用首部字段,他能起到额外传递信息的作用。

使用首部字段是为了给浏览器和服务器提供报文主体大小,所使用的语言,认证信息内容。

在这里插入图片描述
4中HTTP首部字段类型
HTTP首部字段根据实际用途被分为4种类型

通用首部类型(General Header Fields)
请求报文和响应报文两方都会使用的首部

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

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

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

以下所有字段均基于 HTTP1.1

通用首部字段

首部字段名解释实例
Cache-Control控制缓存的行为no cache ,public,private
Connection逐跳首部,链接的管理keep alive;colse
Date创建报文的日期时间date: Sun, 25 Nov 2018 13:43:12 GMT
Pragma报文指令no cache
Trailer报文末端的首部一览Expires
Transfer-Encoding指定报文主体的传输编码格式chunked
Upgrade升级为其他协议TLS/1.0
Via代理服务器的相关信息
Warning错误通知Response is stale(缓存已过期)

请求首部字段

首部字段名解释实例
Accept用户代理可处理媒体类型no cache ,public,private
Accept-Charset优先的字符集iso-8859-5
Accept-Encoding优先的内容编码gzip, deflate
Accept-Language优先的语言(自然语言)zh-CN,zh;q=0.9
AuthorizationWeb认证信息Basic …
Ecpect期待服务器的特定行为100-continue
From用户的电子邮件地址xxx@163.com
Host请求资源所在服务器www.baidu.com
If-Match比较实体标记(ETag)“123456”
If-Modified-Since比较资源的更新时间Wed, 05 Dec 2018 09:41:25 GMT
If-None_Match比较实体比较(与If-Match相反)W/“5c079d45-115ec”
If_Range资源为更新时发送实体byte的范围请求“123456”
IF_Unmodified-Since比较资源的更新时间(与f-Modified-Since相反)Wed, 05 Dec 2018 09:41:25 GMT
Max-Forwards最大传输调数2
Proxy-Authorization代理服务器要求客户端的认证信息Basic …
Range实体的字节范围请求bytes 5001-10000
Referer对请求中URI的原始获取方https://pos.baidu.com/wh/o.htm?ltr=
TE传输编码的优先级gzip,deflate;q=0.5
User-AgentHTTP客户端程序的信息Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Mobile Safari/537.36

响应首部字段

首部字段名解释实例
Accepts-Ranges是否接受字节范围请求bytes
Age推算资源创建经过时间600
ETag资源匹配信息usagi-1234
Location令客户端重定向至指定URIhttp://www.baidu.com
Proxy-Authenticate代理服务器对客户端的认证信息Basic realm=“Usagidesign Auth”
Retry-After对再次发起请求的时机要求120
SeverHTTP服务器的安装信息JSP3/2.0.14
Vary代理服务器对客户端的管理信息Accept Language
WWW-Authenticate服务器对客户端的认证信息Basic realm=“Usagidesign Auth”

实体首部字段

首部字段名解释实例
Allow资源可支持的HTTP方法Get,Head
Content-Encoding实体主体适用的编码方式gzip
Content-Language实体主体的编码语言zh-CN
Content-Length实体主体的大小(单位:字节)1500
Content-Location替代对应资源的URIhttp://www.baidu.com
Content-MD5实体主体的报文摘要
Content-Range实体主体的位置范围bytes 5001-10000/10000
Content-Type实体主体的媒体类型text/html;charset=UTF-8
Expires实体主体过期的日期时间Thu, 06 Dec 2018 13:23:02 GMT
Last-Midified资源的最后修改日期时间Mon, 26 Dec 2016 09:48:01 GMT

更多参见 w3c官网Header Field Definitions

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值