"Accept-Charset"头字段可以被用户代理发送以表明在文本响应内容中可接受的字符集。该字段允许能够理解更全面或特殊用途字符集的用户代理将该能力通知给能够以这些字符集表示信息的源服务器。
Accept-Charset = 1#( ( charset / "*" ) [ weight ] )
字符集名称被定义在3.1.1.2节。用户代理可能对每个字符集关联一个质量值以表明用户对每个字符集的相对偏好,如5.3.1节定义。
一个例子:
Accept-Charset: iso-8859-5, unicode-1-1;q=0.8
特殊值“”(如果出现在Accept-Charset字段中)匹配每一个没有在Accept-Charset字段中提到的字符集。如果Accept-Charset字段中没有出现“”,那么任何没有在该字段中提到的字符集都将被视作对客户端“不可接受的”。
一个没有Accept-Charset头字段的请求暗示用户代理将在响应中接受任何字符集。大多数通用用户代理不会发送Accept-Charset,除非特别配置,因为受支持的字符集的详细列表使得服务器可以更容易地凭借用户代理的请求特征来识别个人(9.7节)。
如果在请求中出现Accetp-Charset头字段并且并且响应的可用表示都没有被列为可接受的字符集,源服务器可以发送一个406(不可接受)响应来遵循头字段,或者通过将资源视为不受内容协商的约束来忽略头字段。