1、请求首部字段
请求首部字段是由客户端往服务器端发送请求报文汇总使用的字段,用于补充请求的附加信息、客户端信息、对响应内容相关的优先级等内容。
1.1、accept
Accept:通知服务器,用户代理能够处理的媒体类型及媒体类型的相对优先级,使用type/subtype格式,一次指定多种媒体类型。q表示品质系数,类似权重,取值范围是0-1,不配默认是1,可以精确到小数点后3位。
常见媒体类型:
1.2、 Accept-Charset
该字段用于通知服务器用户代理支持的字符集以及字符集的相对优先顺序,可一次指定多种字符集,并配置有权重q表示其优先级。此字段应用于内容协商机制的服务器驱动协商。
1.3 Accept-Encoding
该首部指定了服务器代理的内容编码以及内容编码的优先级,可以一次那个指定多个编码,使用q表示权重,使用*表示支持任意编码。
内容编码:
1.4 Accept-Language
该字段表示服务器代理能够处理的自然语言集,可指定多种,应以q表示其优先级,格式:语言+分号+权重q。
1.5 Authorization
此字段在认证信息时使用,通常会先返回401响应,然后客户端在输入认证信息,浏览器将首部字段Authorization字段加入报文重现发给服务器。
1.6 Expect
该字段用于告诉服务器期望出现的某种特定的行为。如果服务器无法理解客户端的期望做出回应而发生错误时,会返回状态码417 Expectation Failed。HTTP/1.1规定只定义了100-continue。
1.7 From
From:用于告知服务器使用用户代理的用户的电子邮件地址。使用代理时,应尽可能包含From首部字段,但是因为代理不同,电子邮箱地址可能会记录在User-Agent首部字段。
1.8 Host
Host:告知服务器请求资源所处的互联网主机名和端口号,他是首部字段在HTTP/1.1规范内唯一必须包含是在请求内的首部字段,它首先经过dns解析指向ip地址,如果此ip只有单一服务,即可实现执行源资源位置,但如果用一个ip部署多台服务,此时还要指向具体的请求服务的主机名,当服务器未设置主机名时,直接发送一个空值即可。
1.9 If-match
If-xxx这样的请求首部字段,可称为条件请求。服务器接收到这种请求,只有在指定条件为真时,才会执行请求。
If-Match:123456 表示告知服务器匹配资源所用的实体标记值等于123456时,才会执行请求;将123456换*,则表示只要资源存在就处理请求。
1.10 If-Modified-Since
If-Modifide-Since:表示指定的日期时间后,资源就发生可更新,服务器接受请求,没有更新就不会执行请求,返回304 ,Not Modified。
1.11 if-No-Match
If-None-Match:在此字段和Etag值不一样时,可处理该请求。
1.12 if-Range
If-Range属于附带条件之一,告知服务器若指定的If-Range字段值(ETag值或者时间)和请求资源的ETag值或时间相一致时,则作为范围请求处理,反之返回全体资源。
1.13 If-Unmodified-Since
If-Unmodified-Since:告知服务器,指定的请求资源只有在字段值内指定的日期时间之后,未发生更新的情况下,才能处理请求,否则返回412 Precondition Failed。
1.14 Max-Forwards
Max-Forward:指定服务器可以经过的服务器最大数目。,每经过一个服务器减1,当Max-Forward减到0时,请求不在转发,直接返回响应。
1.15 Proxy-Authorization
Proxy-Authorization:认证服务器发来的认证质询,与Authorzation认证字段相似。
1.16 Range
Range:获取部分资源的范围请求。
1.17 Referer
Referer:表示请求的原始资源的URL。
1.18 TE
TE:告知服务器客户端能够处理响应的传输编码方式以及相应优先级,与Accept-Ecoding功能类似,但是只用于传输编码。