其他分享
首页 > 其他分享> > 图解HTTP第六章(2).读书笔记

图解HTTP第六章(2).读书笔记

作者:互联网

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

  1. Accept
    通知服务器,用户代理能够处理的媒体类型及媒体类型的优先级,使用 type/subtype类型,text/html
    比如,如果浏览器不支持PNG格式图片的显示,那Accept就不指定image/png,而指定image/gid或者image/jpeg等图片类型。若要添加优先级,就要使用q=来额外表示权重值。当服务器提供多种类型时,将会首先返回权重值最高的媒体类型
  2. Accept-Charset
    可以用来通知服务器用户处理支持的字符集及字符集的相对优先顺序
  3. Accept-Encoding
    用来告知服务器用户代理支持的内容编码及内容编码的优先级顺序。可一次性指定多种内容编码
    如:gzip,compress,deflate,identity
  4. Accept-Language
    告知服务器用户能够处理的自然语言集,以及自然语言集的相对优先级
  5. Authorization
    用来告诉服务器,用户代理的认证信息(证书值)。通常,想要通过服务器认证的用户会在接受到返回值为401的状态码响应后,把首部字段Authorization 加入请求中。
  6. Expect
    客户端告诉服务器,期望出现某种特定的行为。因为无法满足客户端期望而发生错误时,会返回417Expectation Failed
  7. From
    告知服务器使用用户代理的电子邮箱地址。显示搜索引擎等用户处理的负责人的电子邮件联系地址
  8. Host
    告知服务器,请求大的资源所处的互联网主机名和端口号。请求被发送至服务器时,请求中的主机名会用IP地址直接替换解决。但如果这时,相同的IP地址下部署着多个域名,那服务器就会无法理解究竟是哪个域名对应的请求,因此需要用首部字段Host指明请求的主机名
  9. If-Match
    If-xxx这种的请求首部字段,都可以成为条件请求。服务器接受到附带条件的请求后,只有判断指定条件为真后,才会执行请求
    Etag值是与特定资源关联的确定值。资源更新后E-tag也会更新。只有当Match的字段值根Etag值匹配时,服务器才接受请求。反之,则返回状态码412 precondion Failed
  10. If-Modified-Since
    告知服务器如果If-Modified-Since字段值早于资源更新时间,则希望处理该请求。如果不行,则返回,304 Not Modified
  11. If-None-Match
    用于指定如果If-None-Match字段值的实体标记值与请求资源的Etag不一致时,它就告知服务器处理该请求。
  12. If-Range
    首部字段If-Range属于附带条件,它告知服务器若指定的If-Range字段值和请求资源Etag值或时间向一致时,则作为范围请求处理,反之则返回全体资源
  13. If-Modified-Since
    告知服务器,指定的资源只有在字段值指定的日期时间之后,未发生更新的情况下,才能处理请求。如果在指定日期后发生了更新,则以状态码412 preconditions failed作为响应码
  14. Max-Forward
    使用TRACE或者OPTIONS方法,发送包含首部字段Max-Forwards的请求时,该字段以十进制整数形式指定可经过的服务器最大数目,在代理服务器的转发间逐次递减,在源服务器处数值为0
  15. Proxy-Authorization
    接收到从代理服务器发来的认证质询时,客户端会发送包含首部字段Proxy-Authorization的请求,以告知服务器认证需要的信息
  16. Range
    对于只获取部分资源的范围请求,包含首部字段Range告知服务器资源的指定范围。接收到部分资源后,会返回206 partial content,无法处理该范围请求时,会返回200 OK
  17. Referer
    告知服务器请求的原始资源的URI
  18. TE
    告知服务器客户端能够处理响应的传输方式及相对优先级,
  19. User-Agent
    会将创建请求的浏览器和用户代理名称等信息传达给服务器。由网络爬虫发起请求时,可能在字段内容内添加电子邮件地址。

响应首部字段由服务器端向客户端返回响应报文中所使用的字段,用于补充响应的附加信息,服务器信息以及客户端的附加要求等信息。

  1. Accept-Ranges
    用来告知客户端服务器是否能处理范围请求,如果可以,则返回字段值byte,不能则返回none
  2. Age
    告知客户端,源服务器在多久前创立了响应,单位为妙
  3. Etag
    能告知客户端实体标识。是一种可将资源以字符串形式做唯一性标识的方式。服务器会为每份资源分配对应的Etag值。当资源更新时,Etag值也会相应更新。生成值时,没有固定的算法规则,仅仅由服务器来分配
    强Etag和弱Etag值
  4. Location
    可以响应接受返回引导至某个与请求URI位置不同的资源。基本上,会搭配3XX: Redirection
  5. Proxy-Authenticate
    会把由代理服务器所要求的认证信息发送给客户端。
  6. Retry-After
    告诉客户端应该在多久之后再次发送。请求要配合503 Service Unavailable响应
  7. Server
    告诉客户端当前安装的HTTP服务器应用程序的信息。
  8. Vary
    可对缓存进行缓存,源服务器会向代理服务器传达关于本地缓存使用方法的命令。
  9. WWW-Authenticate
    用于HTTP访问认证,会告知客户端适用于访问URI所指定资源的认证方法basic或者digest和带参数提问的质询。状态码401 Unauthorized响应中,肯定带有首部字段WWW-Authorized

实体首部字段:用于补充内容的更新时间等与实体相关的信息

  1. Allow
    用于通知客户端能够支持Request-URI指定资源的所有HTTP方法。当服务器接收到不支持的HTTP方法时,会以状态码405 Method Not Allowed 作为响应返回。同时还会把所有能支持的HTTP方法写入首部字段Allow后返回
  2. Content-Encoding
    告知客户端对实体的主体部分选中的内容编码方式。内容编码时指在不丢失实体信息的前提下进行的压缩。
  3. Content-Language
    告知客户端,实体主体使用的语言是什么
  4. Content-Length
    表明实体主体部分的大小
  5. Content-Location
    给出与报文主体部分相对应的URI。和Location不同,表示的是报文主体返回资源对应的URI
  6. Content-MD5
    一段由MD5算法生成的值,目的在于检查报文主体在传输过程中是否完整
    对报文主体执行MD5算法获得的128位二进制数,再通过Base64编码后将结果写入Content-MD字段值。为保证报文有效性,作为接受方的客户端会对报文主体再次执行一次相同算法。计算出的数值进行比较,即可判断出报文主体的准确性
  7. Content-Range
    告知客户端作为响应返回的实体的哪个部分符合要求。
  8. Content-Type
    说明实体内对象的媒体类型
  9. Expires
    将资源失效的日期告诉客户端。缓存服务器接收到expires响应后,会以缓存来答复请求,并储存响应的副本一直到指定时间前。当超过指定时间后,缓存服务器在请求发送过来时,会转向源服务器请求资源
  10. Last-Modified
    指明资源最终修改的时间

标签:HTTP,请求,读书笔记,首部,响应,告知,服务器,图解,客户端
来源: https://blog.csdn.net/Antonio_Salieri/article/details/94437262