内容协商的两种方式

Proactive主动式内容协商

指由客户端先在请求头部中提出需要的表述形式,而服务器根据这些请求头部提供特定的representation表述
image.png

Reactive响应式内容协商

指服务器返回300 Multiple Choices或者406 Not Acceptable,由客户端选择一种表述URI使用
image.png

常见的协商要素

  • 质量因子q:内容质量,可接受类型的优先级
  • 媒体资源的MIME类型及质量因子
    • Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
    • Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchangelv=b3
  • 字符编码:由于UTF-8格式广为使用,Accept-Charset已被废弃
    • Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
  • 内容编码:主要指压缩算法
    • Accept-Encoding: gzip,deflate,br
  • 表述语言

    • Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7

      资源表述的元数据头部(reponse)

  • 媒体类型,编码

    • Content-Type: text/html;charset=utf-8
  • 内容编码
    • Content-Encoding: gzip
  • 语言
    • Content-Language: de-DE, en-CA