Accept-Charset リクエスト HTTP ヘッダーは、クライアントが理解できる文字セットをアドバタイズします。 次にコンテンツネゴシエーションを使用して、サーバーは提案の1つを選択、使用し、Content-Type レスポンスヘッダー内でクライアントに選択を通知します。ブラウザは通常、このヘッダーを設定しません。通常、各コンテンツタイプのデフォルト値が正しいため、送信すると簡単にフィンガープリントを読み取ることができます。

サーバーが一致する文字セットを提供できない場合、理論的には 406 (Not Acceptable) エラーコードを返すことができます。しかし、より良いユーザーエクスペリエンスのために、これはめったに行われず、より一般的な方法はこの場合 Accept-Charset ヘッダーを無視することです。

HTTP/1.1 の初期のバージョンでは、デフォルトのcharset (ISO-8859-1) が定義されていました。これはこれ以上のケースではなくなり、各コンテンツタイプに独自のデフォルトが設定されるようになりました。

ヘッダータイプ 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-8 または iso-8859-15 のような文字セット。
*
ヘッダー内の他の場所に記述されていない文字セット。'*' はワイルドカードとして使用されます。
;q= (q-factor weighting)
任意の値は、重みと呼ばれる相対的な品質値を使用して表現された優先順位の順序で配置されます。

Accept-Charset: iso-8859-1

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

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

仕様

仕様書 タイトル
RFC 7231, セクション 5.3.3: Accept-Charset Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 ありIE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応

関連情報

ドキュメントのタグと貢献者

このページの貢献者: silverskyvicto
最終更新者: silverskyvicto,