HTTP请求首部字段类型详解

请求首部字段是从客户端往服务器端发送请求报文中所使用的字段,用于补充请求的附加信息、客户端信息、对响应内容相关的优先级等内容。

1,Accept字段

该字段可通知服务器,用户代理能够处理的媒体类型及媒体类型的相对优先级。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1
若想要给显示的媒体类型增加优先级,则使用q=来额外表示权重值,并用分号(;)进行分割。当权重值的范围是0~1(可精确到小数点后3位),且1为最大值。另外,不指定权重q值时,默认权重位1.0。

 

 

2,Accept-Charset字段

该字段可用来通知服务器用户代理支持的字符串及字符集的相对优先顺序。另外,可一次性指定多种字符集。与首部字段Accept相同的是可用权重q值来表示相对优先级。
183822_yZmR_2965390.png

 

 

3,Accept-Encoding字段

该字段用来告知服务器用户代理支持的内容编码及内容编码的优先级顺序,可一次性制定多种内容编码。如下举例了几个常见的内容编码:

183822_Y4pi_2965390.png
183822_Q8mt_2965390.png

 

4,Accept-Language字段

该字段用来告知服务器用户代理能够处理的自然语言集。

 

5,Authorization字段

该字段用来告知服务器,用户代理的认证信息,即证书值。想要通过服务器认证的代理会在接收到返回的401状态码响应后,把首部字段Authorization加入请求中。

183822_Lktq_2965390.png

 

 

6,Expect字段

该字段是客户端用来告知服务器期望出现的某种特定行为。如服务器无法理解客户端的期望则会发生错误,返回状态码417。

 

 

7,From字段

该字段用来告知服务器使用用户代理的用户的电子邮件地址。目的就是为了显示搜索引擎等用户代理的负责人的电子邮件联系方式。使用代理时应尽可能包含From首部字段。

 

 

8,Host字段

多个虚拟主机可运行在同一个IP上,因此需要使用Host首部字段加以区分。该字段用来告知服务器,请求的资源所处的互联网主机名和端口号。

 

9,If-Match字段

形如If-xxx的样式的请求首部字段,都可以称之为条件请求。服务器接受到附带条件的请求时,只有判断指定条件为真才会执行请求。

If-Match首部字段属于附带条件之一,它会告诉服务器匹配资源所用的实体标记(ETag)值。而这时的服务器无法使用弱ETag值。

 

10,If-Modified-Since字段

该字段用来告知服务器若If-Modified-Since字段值早于资源的更新时间,则希望能处理该请求。而在制定的字段值的日期时间之后,如果请求的资源都没有过更新,则返回状态码304。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1
 

 

11,If-None-Match字段

该字段和If-Match字段作用相反。用于指定的字段值的实体标记ETag值与请求资源的ETag不同时,就告知服务器处理该请求。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1

 

 

12,If-Range字段

该字段告知服务器若制定的字段值(ETag值或者时间)和请求资源的ETag值或时间相一致,则作为范围请求处理。反之,返回全体资源。下面对比If-Range和If-Match的不同:

使用If-Range字段时,如果不一致时则忽略范围请求,返回全部资源。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1
而实用If-Match字段时,如果不一致则需要再次进行请求处理。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1

 

13,If-Unmodified-Since字段

该字段和If-Modified-Since字段相反,它的作用是告知服务器,指定的请求资源只有在字段值哪指定的日期时间之后,未发生更新的情况下,才能处理请求。如果在指定日期时间后发生了更新,则返回状态码412。

 

 

14,Max-Forwards字段

通过TRACE方法或OPTIONS方法时,发送包含首部字段Max-Forwards的请求时,该字段以十进制整数形式指定可经过的服务器最大数目。

 

15,Proxy-Authorization字段

接收到从代理服务器发来的认证质询时,客户端会发送包含首部字段Proxy-Authorization的请求,以告知服务器认证所需要的信息。认证行为发生在客户端与代理之间。客户端和服务器之间的认证,实用首部字段Authorization可起到相同作用。

 

16,Range字段

对于只需要获取部分资源的范围请求,包含首部字段Range即可告知服务器资源的制定范围。

 

17,Referer字段

该字段告知服务器请求的原始资源的URI。客户端一般都会发送Referer首部字段給服务器。

但当直接在浏览器的地址栏输入URI,或出于安全的考虑时,也可以不发送该首部字段。因为原始资源的URI中的查询字符串可能含有ID和密码等保密信息,要是写进Referer转发給其他服务器,则有可能导致保密信息的泄露。

 

 

18,TE字段

该字段告知服务器客户端能够处理响应的传输编码方式和相对优先级。它和首部字段Accept-Encoding的功能相似,但是这是用于传输编码。

 

 

19,User-Agent字段

该字段会将创建请求的浏览器种类和用户代理名称等信息传达给服务器。由网络爬虫发起请求时,有可能会在字段内添加爬虫作者的电子邮件地址。此外,如果请求经过代理,那么中间也可能被添加上代理服务器的名称。

转载于:https://my.oschina.net/u/2965390/blog/761407

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值