HTTP协议之首部字段

HTTP首部字段

  1. 通用首部字段 请求报文和响应报文都会使用到的首部

    • Cache-Control 控制缓存的工作机制
      no-cache:请求报文中包含该指令,表示客户端不会接收缓存过的响应;响应报文中包含该指令,表示缓存服务器不能对响应进行缓存。
      no-store:表示请求报文或响应报文中包含机密信息,该指令规定缓存不能在本地存储请求或者响应的任一部分。
      max-age:请求报文中包含该字段,如果缓存资源的缓存时间值比指定时间更小,客户端就接受缓存的资源;响应报文中包含该字段,缓存服务器不会再对资源的有效性进行判断,max-age代表资源保存为缓存的最长时间。
      only-if-cached:表示客户端仅在缓存服务器本地缓存过资源的情况下才要求其返回,否则返回504响应。
    • Connection 管理持久连接 HTTP1.0默认是短连接,每一次请求都需要建立一次连接,这样做效率很低,而在HTTP1.1协议默认为长连接。
      Keep-Alive:HTPP协议上保持维持持久连接
      Close: 关闭持久连接
    • Date 表示报文创建的时间
    • Pragma 用于Http1.0向后兼容而定义的,只用于请求报文。
      no-cache: 客户端会要求所有中间服务器不返回缓存资源。
  2. 请求首部字段 从客户端向服务器端发送请求报文时使用的首部

    • User-Agent 告知服务器请求浏览器和用户代理名称等信息
    • Host 告知服务器请求的资源所处的互联网主机名和端口号。单台服务器可能分配多个域名的虚拟主机的工作机制,这是首部字段必须存在的意义
    • Accept 通知服务器用户代理接受的媒体类型以及媒体类型的相对优先级 使用type/subtype这种形式指定多种媒体类型,q表示权重如:Accept:text/html,application/xml;q=0.9
      文本:text/html,text/plain,text/css,appclication/xhtml+xml,application/xml等
      图片:image/jpeg,image/gif,image/png
      视频:video/mpeg,video/quicktime
      二进制文件:application/octet-stream,application/zip
    • Accept-Charset 通知服务器用户代理支持的字符集以及字符集的相对优先顺序
    • Accept-Encoding 通知服务器用户代理支持的内容编码以及内容编码的优先级顺序
      gzip:由文件压缩程序gzip生成的编码格式
      compress:由UNIX文件压缩程序compress生成的编码格式
      deflate:组合使用zlib格式及deflate压缩算法生成的编码格式
      identity:不执行压缩或不会变化的默认编码格式
    • Accept-Language 通知服务器用户代理能够处理的自然语言集以及自然语言集的相对优先级
    • Authorization 告知服务器用户代理的认证信息(证书值)
    • IF-Match 告知服务器匹配资源所用的实体标记(ETag)值。只有当If-Match的字段值跟ETag的值一致的时候服务器才会响应请求。ETag是服务器给资源分配的唯一标识,当资源更新的时候,ETag也会随着更新。
    • IF-None-Match 与If-Match字段作用相反,只有当该字段值与ETag值不一致时,处理该请求。
    • IF-Modified-Since 用于确认代理或者客户端拥有的本地资源的有效性。若该字段的指小于资源更新的事件,说明本地资源已经过期,客户端会获取服务器最新的资源,返回200 ok;否则说明资源未过期,服务器返回304 Not Modified响应,客户端可以读取缓存。
    • Range 告知服务器只需获取部分资源的范围请求,以及请求的范围。若服务器处理该请求,则会返回206 Partial Content的状态码,否则返回200 OK的响应和全部资源。
    • Referer 告知服务器请求资源的原始URL
  3. 响应首部字段 从服务器端向客户端返回响应报文时使用的首部

    • Accept-Ranges: 告知客户端服务器是否能够处理范围请求,来获取服务器某个部分的资源。
    • Age:告知客户端,源服务器在多久前创建的响应。单位为:秒
    • ETag:告知客户端实体的标识。它是一种可将资源以字符串的形式做唯一标识的方式。服务器会为每一分资源分配对应的ETag值。当资源更新的时候,对应的ETag也会改变。
    • Location: 该字段可以将响应接收方引导到某个与请求URI位置不同的资源上。基本上,该字段会配合3XX:Redirection的响应,提供重定向的URI。
    • Retry-After:告知客户端应该多久之后再次发送请求。
    • Server: 告知客户端当前服务器安装的HTTP服务器应用程序的信息。
    • WWW-Authenticate: 用于HTTP认证。他会告知客户端适用于访问请求URI所指定资源的认证方案(Basic或者Digest)和带参数提示的质询。状态码401 Unauthorized响应中,肯定带有首部字段WWW-Authenticate。
  4. 实体首部字段 针对请求报文和响应报文的实体部分使用的首部,用于补充内容的更新时间等与实体相关的内容。

    • Allow 用于通知客户端能够支持Request-URI指定资源的所有的HTTP方法。
      如:Allow:GET,POST
    • Content-Encoding: 告知客户端服务器对实体的主体部分选用的内容编码方式。
    • Content-Language: 告知客户端,实体主体使用的自然语言(中文)
    • Content-Length: 表明实体主体部分的大小。
    • Content-MD5: 告知客户端实体主体部分的md5值,客户端也会对接受的实体主体部分进行md5算法进行比较,来判断资源内容是否被更改。
    • Content-Range:针对范围请求,告知客户端作为响应返回的实体的哪部分符合范围请求。
    • Content-Type说明了实体主体内对象的媒体类型。和首部字段Accept一样,字段值使用type/subtype形式赋值。
    • Expires:服务器会将资源失效的日期告知客户端。
    • Last-Modified: 说明资源最终修改的时间。一般来说,这个值就是Request-URI指定资源被修改的时间。
  5. 其他首部字段
    • Cookie: 由于HTTP是无状态的,当客户端想要获取HTTP状态管理支持,就会在请求中包含从服务器中收到的Cookie值。
    • Set-Cookie:当服务器准备开始管理客户端状态的时候,会事先告知各种信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值