Accept-Charset

优质
小牛编辑
123浏览
2023-12-01

Accept-Charset请求的 HTTP 标头通告的字符集客户端能够理解。使用内容协商,服务器然后选择一个提议,使用它并在Content-Type响应头中通知客户它选择的内容。浏览器通常不会将此标题设置为每个内容类型的默认值,通常这是正确的,并且传输它将允许更容易的指纹识别。

如果服务器不能提供任何匹配的字符集,理论上可以发回一个406(不可接受的)错误代码。但是,为了更好的用户体验,这种情况很少发生,Accept-Charset在这种情况下更常见的方式是忽略 header 。

在早期版本的 HTTP / 1.1 中,ISO-8859-1定义了一个默认的 charset()。现在不是这种情况,现在每种内容类型都可以有其自己的默认值。

Header type

Request header

Forbidden header name

yes

语法

Accept-Charset: <charset>// Multiple types, weighted with the quality value syntax:Accept-Charset: utf-8, iso-8859-1;q=0.5

指令

<charset>utf-8iso-8859-15.*的一个字符集。Header 中没有提到的任何字符集;

'*'被用作通配符。

;q=(q因子权重)任何值都按照称为权重的相对质量值的优先顺序排列。

例子

Accept-Charset: iso-8859-1Accept-Charset: utf-8, iso-8859-1;q=0.5Accept-Language: utf-8, iso-8859-1;q=0.5, *;q=0.1

规范

Specification

Title

RFC 7231, section 5.3.3: Accept-Charset

Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context

浏览器兼容性

Feature

Chrome

Firefox

Edge

Internet Explorer

Opera

Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)