美文网首页
图解HTTP解析7(请求首部)

图解HTTP解析7(请求首部)

作者: zdxhxh | 来源:发表于2019-09-28 20:41 被阅读0次

    请求首部

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

    Accept开头的首部字段都可以一次指定多个指令。

    1.Accept (★)

    Accept: text/html,application/xhtml+xml,application/xml;q=0,通知服务器,代理能够处理的媒体类型与媒体类型相对优先级,可使用 type/subtype 这种形式, 一次指定多种媒体类型,并使用,分割,如:

    文本文件
    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 ...
    

    q表示媒体类型优先级权重,使用;跟在媒体类型后,取值范围0~1(可精确到小数点后3位),不指定权重q指时,默认权重为1.

    2. Accept-Charset (★)

    Accept-Charset: iso-8859-5, unicode-1-1;q=0.8,通知服务器用户代理支持使用的字符集的相对优先顺序,可用q指定权重。该首部字段应用于内容协商机制的服务器驱动协商。

    3. Accept-Encoding

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

    gzip
    由文件压缩程序 gzip(GNU zip) 生成的编码格式
    (RFC1952) , 采用 Lempel-Ziv 算法(LZ77) 及 32 位循环冗余
    校验(Cyclic Redundancy Check, 通称 CRC) 。
    compress
    由 UNIX 文件压缩程序 compress 生成的编码格式, 采用 LempelZiv-Welch 算法(LZW) 。
    deflate
    组合使用 zlib 格式(RFC1950) 及由 deflate 压缩算法
    (RFC1951) 生成的编码格式。
    identity
    不执行压缩或不会变化的默认编码格式
    

    采用权重 q 值来表示相对优先级, 这点与首部字段 Accept 相同。 另外, 也可使用星号(*) 作为通配符, 指定任意的编码格式。

    4.Accept-Language

    告知服务器用户代理能够处理的自然语言集(指中文或英文等) , 以及自然语言集的相对优先级。
    Accept-Language: zh-cn,zh;q=0.7,en-us,en;q=0.3

    5. Authorization

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

    6. Expect

    Expect: 100-continue,告知服务器, 期望出现的某种特定行为。 因服务器无法理解客户端的期望作出回应而发生错误时, 会返回状态码 417 Expectation Failed。

    7. From

    告知服务器用户代理(浏览器)的电子邮件信息。

    8. Host (★)

    标识了请求资源的互联网主机名和端口号,Host 首部字段在 HTTP/1.1 规范内是唯一一个必须被包含在请
    求内的首部字段(很多1.1请求都不带),规范意味着可以不遵守

    9. If-Match(If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since)

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

    10. Max-Forwards

    规定报文最大的转发次数, 该字段以十进制整数形式指定可经过的服务器最大数目。 服务器在往下一个服务器转发请求之前, Max-Forwards 的值减 1 后重新赋值。 当服务器接收到 Max-Forwards 值为 0 的请求
    时, 则不再进行转发, 而是直接返回响应。

    11. Proxy-Authorization

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

    12. Range

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

    13. Referer

    Referer: http://www.hackr.jp/index.htm 告知服务器原始资源的URI

    14.TE

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

    15. User-Agent (★)

    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Ge 会将创建请求的浏览器和用户代理名称等信息传达给服务器

    相关文章

      网友评论

          本文标题:图解HTTP解析7(请求首部)

          本文链接:https://www.haomeiwen.com/subject/mnsnectx.html