HTTP 报文 之 HTTP 首部

首部和方法配合工作,共同决定了客户端和服务器能做什么事情。

在请求和响应报文中都可以用首部来提供信息,有些首部是某种报文专用的,有些首部则更通用一些。可以将首部分为五个主要的类型。

通用首部:这些是客户端和服务器都可以使用的通用首部。可以在客户端、服务器 和 其他应用程序之间提供一些非常有用的通用功能。比如,Date 首部就是一个通用首部,每一端都可以用它来说明构建报文的时间和日期。

请求首部:从名字中就可以看出,请求首部时请求报文特有的。它们为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据。例如,下面的 Accept 首部就用来告知服务器客户端会接受与其请求相符的任意媒体类型:      Accept: */*

响应首部:响应报文有自己的首部集,以便为客户端提供信息(比如,客户端在与哪种类型的服务器进行交互)。例如,下面 Server  首部就用来告知客户端它在与一个版本 1.0 的 Tiki-Hut 服务器进行交互。 Server: Tiki-Hut/1.0

实体首部:实体首部指的是用于应对实体主体部分的首部。比如,可以用实体首部来说明实体主体部分的数据类型。例如,可以通过下列 Content-type 首部告知应用程序,数据是以 iso-latin-1 字符集表示的 HTML 文档:   Content-type: text/html; charset=iso-latin-1

扩展首部:扩展首部时非标准的首部,由应用程序开发者创建,但还未添加到已批准的 HTTP 规范之中。即使不知道这些扩展首部的含义,HTTP 程序也要接受他们并对其进行转发。

通用首部

有些首部提供了与报文相关的最基本的信息,它们被称为通用首部。

首部   描述  
Connection    允许客户端和服务器指定与请求 / 响应连接有关的选项  
Date   提供日期和时间标志,说明报文是什么时间创建的。  
MIME-Version   给出了发送端使用的 MIME 版本  
Trailer   如果报文采用了分块传输编码(chunked transfer encoding)方式,就可以用这个首部列出未育报文拖挂(trailer)部分的首部集合。  
Transfer-Encoding   告知接收端为了保证报文的可靠传输,对报文采用了什么编码方式  
Update    给出了发送端可能想要“升级”使用的新版本或协议  
Via   显示了报文经过的中间节点(代理、网关)  

通用缓存首部

HTTP/1.0 引入了第一个允许 HTTP 应用程序缓存对象本地副本的首部,这样就不需要总是直接从源服务器获取了。最新的 HTTP 版本有非常丰富的缓存参数集。

首部   描述  
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 首部

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1f980bf1e885048e2da882d353bcd65e.html