HTTP请求首部字段与响应首部字段

本文详细介绍了HTTP请求首部字段和响应首部字段,包括Accept、Authorization、Host、Content-Type等,旨在帮助理解HTTP通信过程中的关键信息交换。
一、请求首部字段

1、Accept

Accept首部可通知服务器,用户代理能够处理的媒体类型及媒体类型的相对优先级
Accept:text/html, application/xhtml+xml, application/xml; q=0.9, */*; q=0.8

2、Accept-Charset

用来通知服务器用户代理支持的字符集及字符集的相对优先顺序
Accept-Charset: iso-8859-5,unicode-1-1;q=0.8

3、Accept-Encoding

用来告知服务器用户代理支持的内容编码及内容编码的优先级顺序
Accept-Encoding:gzip,deflate

4、Accept-Language

告知服务器用户代理支持的自然语言集及自然语言集的优先级
Accept-Language:zh-cn,zh;q=0.7,en-us,en;q=0.3

5、Authorization

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

6、Expect

客户端使用首部字段Expect字段来告知服务器,期待出现的某种特定行为
等待状态码100响应的客户端在发生请求时,需要指定Expect: 100-continue
Expect: 100-continue

7、Form

用来告知服务器使用用户代理的用户的电子邮件地址
Form:2294*** 272@qq.com

8、Host

用来告知服务器,请求的资源所在的互联网主机名和端口号,Host首部字段在HTTP/1.1规范内唯一一个必须包含在请求内的首部字段
Host:www.hacker.jp

9、If-Match

形如If-***这种样式的请求首部字段,都可称为条件请求,服务器接收到附带条件的请求后,只有判断指定条件为真时,才会执行请求,服务器会比对If-Match的字段值和资源的ETag值,仅当两者一致时,才会执行请求。
If-Match:“123456”

10、If-Modified-Since

首部字段If-Modified-Since,属附带条件之一,会告知服务器若If-Modified-Since字段值早于资源的更新时间,则希望能处理该请求。而在指定If-Modified-Since字段值的日期之后,如果请求的资源都没有过更新,则返回状态码304 Not Modified的响应。

11、If-None-Match

首部字段If-None-Match属于附带条件之一,它和首部字段If-Match作用相反,用于指定If-None-Match字段值的实体标记(ETag)值与请求资源的ETag不一致时,就告知服务器处理该请求,可获得最新的资源。

12、If-Range

首部字段If-Range属于附带条件之一,告知服务器若指定的If-Range字段值(ETag值或者时间)和请求资源的ETag值或时间相一致时,则作为范围请求处理,反之,则返回全体资源。
GET /index.html
If-Range:"123456"
Range: bytes=5001-10000

13、If-Unmodified-Since

首部字段If-Unmodified-Since和首部字段If-Modified-Since的作用相反,它的作用是告知服务器,指定的请求资源只有在字段内指定的日期之后,未发生更新的情况下,才能处理请求。如果在指定日期后发生了更新,则以状态码412 Precondition Failed作为响应返回
If-Unmodified-Since: Thu, 03 Jul 2012 00:00:00 GMT

14、Max-Forwards

通过TRACE方法或OPTIONS方法,发送包含首部字段Max-Forwards的请求时,该字段以十进制整数形式指定可经过的服务器最大数目。服务器在往下一个服务器转发请求之前,会将Max-Forwards的值减1后重新赋值、当服务器接收到Max-Forwards值为0的请求时,则不再进行转发,而是直接返回响应。
Max-Forwards:10

15、Proxy-Authorization

接收到代理服务器发来的认证质疑时,客户端会发送包含首部字段Proxy-Authorization的请求,以告知服务器认证所需要的信息。
这个行为是与客户端和服务器之间的HTTP访问认证相类似的,不同之处在于,认证行为发生在客户端与代理之间,客户端与服务器之间的认证,使用首部字段Authorization可起到相同作用。

16、Range

对于只获取部分资源的范围请求,包含首部字段Range即可告知服务器资源的指定范围。接收到附带Range首部字段请求的服务器,会在处理请求之后返回状态码为206 Partial Content的响应,无法处理该范围请求时,则会返回状态码200 OK的响应及全部字段。
Range:bytes=5001-10000

17、Referer

首部字段Referer会告知服务器请求的原始资源的URI

18、TE

首部字段TE会告知服务器客户端能够处理响应的传输编码方式及相对优先级,它和首部字段Accept-Encoding的功能很相像,但是用于传输编码。
TE:gzip,deflate;q=0.5

19、User-Agent

首部字段User-Agent会将创建请求的浏览器和用户代理名称等信息传达给服务器
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64;rv:13.0) Gecko/=>20100101 Firefox/13.0.1

二、实体首部字段

实体首部字段是包含在请求报文和响应报文中的实体部分所使用的首部,用于补充内容的更新时间等与实体相关的信息。

1、Allow

首部字段Allow用于通知客户端能够支持Request-URI指定资源的所有HTTP方法。当服务器接收不支持的HTTP方法时,会以状态码405 Method Not Allowed作为响应,与此同时,还会把所有能支持的HTTP方法写入首部字段Allow返回
如:Allow:GET,HEAD

2、Content-Encoding

首部字段Content-Encoding会告知服务器对实体的主体部分选用的内容编码方式。有gzip、compress、deflate、identity
如:Content-Encoding:gzip

3、Content-Language

Content-Language会告知客户端,实体主体所使用的自然语言
如:Content-Language:zh-CN

4、Content-Length

Content-Length表明了实体主体部分的大小,单位是字节
如:Content-Length:15000

5、Content-Location

Content-Location给出与报文主体部分相对应的URI
如:Content-Location: HTTP://www.hackr.jp/index-ja.html

6、Content-MD5

Content-MD5是一串由MD5算法生成的值,目的在于检查报文主体在传输过程中是否保持完整,以及确认传输到达
如:Content-MD5:*******

7、Content-Range

· 针对范围请求,返回响应时使用的首部字段Content-Range,告知客户端作为响应返回的实体的哪个部分符合范围请求,以字节为单位,表示当前发送部分及整体实体大小
如:Content-Range:bytes 5001-10000/10000

8、Content-Type

说明实体主体内对象的媒体类型
如:Content-Type:text/html; charset=UTF-8

9、Expires

将资源失效的日期告诉客户端
如:Expires:Wed,04 Jul 2012 08:26:05 GMT

10、Last-Modified

指明资源最终修改的时间
如:Last-Modified:Wed,04 Jul 2012 08:26:05 GMT


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值