请求首部字段
Accept
用于通知服务器和代理,能够处理的媒体类型和优先级
eg:Accept: text/html,application/xhtml+xml,application/xml;q=0.
几种媒体类型的例子:
- 文本文件
text/html, text/plain, text/css ...
application/xhtml+xml, application/xml ...
- 图片文件
image/jpeg, image/gif, image/png ...
- 视频文件
video/mpeg, video/quicktime
- 应用程序使用的二进制文件
application/octet-stream, application/zip ...
Accept-Charset
通知服务器和用户代理支持的字符集和字符集的优先顺序
Accept-Encoding
通知服务器和用户代理支持的内容编码和编码优先级
几种内容编码的例子:
- gzip
- cpmpress
- deflate
- identity
Accept-Language
通知服务器和代理能够处理的自然语言(中文或英文) 以及自然语言的优先级
Authorization
通知服务器和代理的认证信息通常,想要通过服务器认证的用户代理会在接收到返回的401 状态码响应后,把首部字段 Authorization 加入请求中。共用缓存在接收到含有 Authorization 首部字段的请求时的操作处理会略有差异。
Expect
客户端通过Expect通知服务器,期望出现的特定的行为。服务端无法理解客户端的期望时就会返回417 Expectation Failed
HTTP/1.1只定义了(100-continue)
Form
告知服务器使用用户代理的用户的电子邮箱地址。
通常,其使用目的就是为了显示搜索引擎等用户代理的负责人的电子邮件联系方式。使用代理时,应尽可能包含 From 首部字段(但可能会因代理不同,将电子邮件地址记录在 User-Agent 首部字段内)。
Host
虚拟主机运行在同一个IP上,所以需要Host区分。
首部字段会告诉服务器请求的资源所处的互联网主机名和端口号
Host字段是唯一一个HTTP/1.1规定必须被包含在请求头内的首部字段。
If-Match
形如 If-xxx 这种样式的请求首部字段,都可称为条件请求。服务器接收到附带条件的请求后,只有判断指定条件为真时,才会执行请求。
If-Modify-Since
如果在If-modify-Since字段指定的时间之后资源发生了跟新,服务器会接受请求,否则,不会接受,并且返回304 Not Modified
If-Modify-Since用于确认代理和本地缓存的有效性,获取资源的更新时间日期, 可通过确认首部字段的Last-Modified确认。
If-None-Match
只有在 If-None-Match 的字段值与 ETag 值不一致时,可处理该请求。与 If-Match 首部字段的作用相反
If-Unmodified-Since
首部字段 If-Modified-Since 的作用相反。它的作用的是告知服务器,指定的请求资源只有在字段值内指定的日期时间之后,未发生更新的情况下,才能处理请求。如果在指定日期时间后发生了更新,则以状态码 412 Precondition Failed 作为响应返回
Max-Forwards
每次转发减1,当值为0时返回响应
为了避免代理转发途中发生问题,陷入死循环等情况。通过Max-Forwards可以对以那台服务器为终点的传输路径的通信状况有所把握
Proxy-Authorization
接收到从代理服务器发来的认证质询时,客户端会发送包含首部字段Proxy-Authorization 的请求,以告知服务器认证所需要的信息。
这个行为是与客户端和服务器之间的 HTTP 访问认证相类似的,不同之处在于,认证行为发生在客户端与代理之间。客户端与服务器之间的认证,使用首部字段 Authorization 可起到相同作用。
Range
可告知服务器资源的指定范围
接收带有Range请求后,会返回206 Partial Content的响应,无法处理请求时会返回200 OK返回全部资源。
Referer
告知服务器请求的原始资源的URL
TE
告知服务器和代理能够处理的传输编码以及优先级
User-Agent
用于传达浏览器种类
如果请求经过代理,可能加上代理服务器名称