zoukankan      html  css  js  c++  java
  • HTTP协议08-请求首部字段

    请求首部字段

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

    1)Accept

    通知服务器,用户代理能够处理的媒体类型及媒体类型的相对优先级。可使用type/subtype这种形式,一次指定多种媒体类型。

    Accept:text/plain;q=0.3,text/html

    q表示权重,默认值为1.0(1为最大值),当服务器提供多种内容时,优先返回权重最高的媒体类型

    2)Accept-Charset

    通知服务器,用户代理支持的字符集及字符集的优先顺序。另外,可一次性指定多种字符集。

    Accept-Charset:iso-8859-5,unicode-1-1;q=0.8

    同样q表示权重

    3)Accept-Encoding

    用来告知服务器,用户代理支持的内容编码及内容编码的优先顺序。可一次性指定多种内容编码。

    Accept-Encoding:gzip,deflate

    常用的内容编码:

    gzip:由文件压缩程序gzip生成的编码格式

    compress:由UNIX文件压缩程序compress生成的编码方式

    deflate:组合使用zlib格式及由deflate压缩算法生成的编码格式

    identity:不执行压缩或不会变化的默认编码格式

    4)Accept-Languag

    用来告知服务器,用户代理能够处理的自然语言集(中文或英文等),及自然语言集的相对顺序。可一次指定多种自然语言集

    Accept-Language:zh-cn,zh;q=0.7,en-us,en;q=0.3

    5)Authorization

    告知服务器,用户代理的认证信息(证书值)

    通常,想要通过服务器认证的用户代理会在接收到返回的401状态码响应后,把首部字段Authorization加入请求中。共用缓存在接收到含有Authorization手部字段的请求时操作处理会有所差异。

    6)Expect

    告知服务器,期待出现的某种特定行为。

    因服务器无法理解客户端的期望作用回应而发生错误时,会返回状态码417,客户端可利用该首部字段,写明所期望的拓展

    Expect:100-continue

    7)From

    告知服务器使用用户代理的用户电子邮箱

    目的是用了显示搜索引擎等用户代理的负责人的电子邮箱联系方式

    From:kael_xu@163.com

    8)Host

    告知服务器,请求的资源所在互联网主机名称和端口号

    Host:www.baidu.com

    Host手部字段在HTTP/1.1规范内是唯一一个必须被包含在请求内的首部字段

    如服务器未设定主机名,则直接发送一个空值即可

    9)If-match

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

    If-Match:"123456"

    该字段告诉服务器匹配资源所用的实体标记(Etag)值。这时无法使用弱Etag值

    服务器会对比If-Match的值和字眼的Etag值,当两者一致,才会执行请求。反之,则返回412状态码的响应。

    使用星号(*)指定If-Match的值,服务器会忽略Etag值,只要资源存在就处理请求。

    10)If-Modified-Since

    用来确认代理或客户端拥有的本地资源有效性

    告知服务器若If-Modified-Since字段值早与资源的更新时间,处理该请求,如果在该日期时间后,资源多未更新过,则返回状态码304的响应

    If-Modified-Since:Thu,15 Apr 2018 00:00:00 GMT

    11)If-None-Match

    If-None-Match:“123456”

    与If-Match相反,在If-None-Match的字段值与资源的Etag值不一致时,处理请求。

    一般在GET或HEAD方法中使用,获取最新的资源。

    12)If-Range

    告知服务器若指定的If-Range字段值(Etag或者时间)和请求资源的Etag值或时间一直,则作为范围请求处理,反之,则返回全体资源

    13)If-Unmodified-Since

    与If-Modeified-Since相反,告知服务器,指定的请求只有在字段值内的指定日期时间之后,未发生更新的情况下,才能处理请求,反之,则返回412状态码的响应。

    If-Unmodified-Since:Thu,03 Jul 2018 00:00:00 GMT

    14)Max-Forwards

    Max-Forwards:10

    使用HTTP协议通信时,请求可能会经过多台代理机器。如果途中代理服务器由于某些原因导致请求转发失败。客户端也就等不到服务器返回的响应。使用Max-Forwars字段,每次转发都会将值减1,到0时直接把响应返回给客户端

    15)Proxy-Authorization

    Proxy-Authorization:Basic DGlwOjkpNLAGfFY5

    收到代理服务器发来的认证咨询时,客户端会发送包含首部字段Proxuy-Authorization的请求,以告知服务器认证所需要的信息。

    16)Range

    Range:btyes=50001-10000

    对于只需部分资源的范围请求,使用该字段告知服务器资源的指定范围。

    成功处理请求则返回206状态码响应。无法处理该范围请求,则返回200状态码及全部资源

    17)Referer

    告知服务器请求的原始资源的URI

    18)TE

    TE:gzip,deflate;q=05

    告知服务器,客户端能够处理的传输编码方式及相对优先级

    还可指定伴随trailer字段的分块传输编码方式。只需把trailers赋值给该字段值。

    TE:trailers

    19)User-Agent

    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36

    将创建请求的浏览器和用户代理名称等信息传达给服务器

  • 相关阅读:
    python—打开图像文件报错
    CTFshow萌新赛-萌新福利
    微信小程序bug
    微信小程序
    架构
    命令行
    MyBatis
    avalon
    并发测试工具
    less
  • 原文地址:https://www.cnblogs.com/myal/p/10491180.html
Copyright © 2011-2022 走看看