HTTP请求和响应4:首部(Header)

首部和方法配合工作,共同决定了客户端和服务器能做什么事情,可以将HTTP的首部分为以下几类:
1)通用首部;
2)请求首部;
3)响应首部;
4)实体首部;

5)扩展首部。

通用首部

通用首部提供了与报文相关的最基本的信息,可同时用于请求报文和响应报文。通用首部又分为信息性首部和缓存首部。

信息性首部

首部:Connection
描述:允许客户端和服务端指定与请求/响应连接有关的选项


首部:Date
描述:提供日期和时间标志,说明报文是什么时间创建的,并且列出了Date首部可接受的日期格式


首部:MIME-Version
描述:给出了发送端使用的MIME版本


首部:Trailer
描述:如果报文采用了分块传输编码(chunked transfer encoding)方式,就可以用这个首部列出位于报文拖挂(trailer)部分的首部集合


首部:Transfer-Encoding
描述:告知接收端为了保证报文的可靠传输,对报文采用了什么编码方式


首部:Update
描述:给出了发送端可能想要“升级”使用的新版本或协议


首部:Via
描述:显示了报文经过的中间节点(代理、网关)

缓存首部

HTTP1.1版本有非常丰富的缓存参数集,下面是基本的缓存首部。


首部:Cache-Control
描述:用于随报文传送缓存指示


首部:Pragma
描述:另一种随报文传送指示的方式,但并不专用于缓存

请求首部

请求首部只在请求报文中有意义。

信息性首部

首部:Client-IP
描述:提供了运行客户端的机器的IP地址


首部:From
描述:提供了客户端用户的E-mail地址


首部:Host
描述:给出了接收请求的服务器的主机名和端口号


首部:Referer
描述:提供了包含当前请求URI的文档的URL


首部:UA-Color
描述:提供了与客户端显示器的显示颜色有关的信息


首部:UA-CPU
描述:给出了客户端CPU的类型或制造商


首部:UA-Disp
描述:提供了与客户端显示器(屏幕)能力有关的信息


首部:UA-OS
描述:给出了运行在客户端机器上的操作系统名称及版本


首部:UA-Pixels
描述:提供了客户端显示器的像素信息


首部:User-Agent
描述:将发起请求的应用程序名称告知服务器

Accept首部

首部:Accept
描述:告诉服务器能够发送哪些媒体类型


首部:Accept-Charset
描述:告诉服务器能够发送哪些字符集


首部:Accept-Encoding
描述:告诉服务器能够发送哪些编码方式


首部:Accept-Language
描述:告诉服务器能够发送哪些语言


首部:TE
描述:告诉服务器可以使用哪些扩展传输编码

条件请求首部

首部:Expect
描述:允许客户端列出某请求所要求的服务器行为


首部:If-Match
描述:如果实体标记与文档当前的实体标记相匹配,就获取这份文档


首部:If-Modified-Since
描述:除非在某个指定的日期之后资源被修改过,否则就限制这个请求


首部:If-None-Match
描述:如果提供的实体标记与当前文档的实体标记不相符,就获取文档


首部:If-Range
描述:允许对文档的某个范围进行条件请求


首部:If-Unmodified-Since
描述:除非在某个指定日期之后资源没有被修改过,否则就限制这个请求


首部:Range
描述:如果服务器支持范围请求,就请求资源的指定范围

安全请求首部

首部:Authorization
描述:包含了客户端提供给服务器,以便对其自身进行认证的数据


首部:Cookie
描述:客户端用它向服务器传送一个令牌————它并不是真正的安全首部,但确实隐含了安全功能


首部:Cookie2
描述:用来说明请求端支持的cookie版本

代理请求首部

首部:Max-Forward
描述:在通往源端服务器的路径上,将请求转发给其他代理或网关的最大次数————与TRACE方法一同使用


首部:Proxy-Authorization
描述:与Authorization首部相同,但这个首部是在与代理进行认证时使用的


首部:Proxy-Connection
描述:与Connection首部相同,但这个首部是在与代理建立连接时使用的

响应首部

响应首部用在响应信息中,为客户端提供了一些额外信息,有助于客户端处理响应,并在将来发起更好的请求。

信息性首部

首部:Age
描述:响应持续时间


首部:Public
描述:服务器为其资源支持的请求方法列表


首部:Retry-After
描述:如果资源不可用的话,在此日期或时间重试


首部:Server
描述:服务器应用程序软件的名称和版本


首部:Title
描述:对HTML文档来说,就是HTML文档的源端给出的标题


首部:Warning
描述:比原因短语中更详细一些的警告报文

协商首部

首部:Accept-Ranges
描述:对此资源来说,服务器可接受的范围类型


首部:Vary
描述:服务器查看的其他首部的列表,可能会响应发生变化

安全响应首部

首部:Proxy-Authenticate
描述:来自代理的对客户端的质询列表


首部:Set-Cookie
描述:不是真正的安全首部,但隐含有安全功能;可以在客户端设置一个令牌,以便服务器对客户端进行标识


首部:Set-Cookie2
描述:与Set-Cookie类似,RFC2965 Cookie定义


首部:WWW-Authenticate
描述:来自服务器的对客户端的质询列表

实体首部

用于描述HTTP报文的负荷,可用于请求和响应报文中。

信息性实体首部

首部:Allow
描述:列出了可以对此实体执行的请求方法


首部:Location
描述:告知客户端实体实际上位于何处;用于将接收端定向到资源的(可能是新的)位置(URL)上去

内容首部

首部:Content-Base
描述:解析主体中的相对URL时使用的基础URL


首部:Content-Encoding
描述:对主体执行的任意编码方式


首部:Content-Language
描述:理解主体时最适宜使用的自然语言


首部:Content-Length
描述:主体的长度或尺寸


首部:Content-Location
描述:资源实际所处的位置


首部:Content-MD5
描述:主体的MD5校验和


首部:Content-Range
描述:在整个资源中此实体表示的字节范围


首部:Content-Type
描述:这个主体的对象类型

实体缓存首部

首部:ETag
描述:与此实体相关的实体标记


首部:Expires
描述:实体不再有效,要从原始的源端再次获取此实体的日期和时间


首部:Last-Modified
描述:这个实体最后一次被修改的日期和时间

扩展首部

规范中没有定义的首部。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。