六、报文首部

50 阅读2分钟

报文首部

报文首部分类

  • 请求报文首部分为请求行,通用首部字段,请求首部字段和实体首部字段
  • 响应报文首部分成响应行,通用首部字段,响应首部字段和实体首部字段
  • 通用首部字段是请求报文和响应报文都有的部分
  • 请求行包括:方法、URI和HTTP版本
  • 响应行包括:HTTP版本和状态码

通用首部字段

Cache-control:

控制缓存服务器的行为

  • 取值为no-cache:缓存服务器向源服务器获取资源后,更新缓存并返回响应
  • 取值为no-store:缓存服务器的资源不返回,直接从源服务器拿资源,不缓存资源
  • 取值为public:缓存服务器可以被所有用户使用
  • 取值为private:缓存服务器只能被特定用户使用
  • s-maxage:作用于被多用户使用的缓存服务器,指定缓存中数据的有效时间。如果缓存中的数据大于这个时间,认为是过期数据,进而访问源服务器
  • max-age:作用于所有的缓存服务器,效果与s-maxage相同
  • min-fresh:过了字段指定时间的资源不能作为响应返回
  • max-stale:只要在字段指定时间内的资源,无论是否过期,可以返回
  • only-if-cached:只返回缓存中的资源,缓存中没有才去访问源服务器

Connection字段:

  • keep-alive:代表长连接
  • 指定不发给代理服务器的首部字段

Data字段:

  • 表明创建报文的日期和时间

实体首部字段

  • Allow字段表明支持的请求方法
  • Content-Encoding表明编码格式
  • Content-Language表明语言格式
  • Content-Location表明响应主体对应的URI
  • Set-Cookie服务端发送给客户端的Cookie信息
  • Cookie:status=enable表示客户端想获得Cookie信息

Set-Cookie字段

  • expires表明Cookie的有效期,默认是浏览器关闭为止
  • path表明Cookie信息作用的资源
  • domain表明Cookie信息作用的域名
  • secure表明只有https连接时,才发送Cookie,确保安全
  • httpOnly是Cookie的扩展功能,使JavaScript脚本无法获得Cookie