Accept-Charset
使い方
Accept-Charset ヘッダーはコンテンツネゴシエーションの一部であり、クライアントが utf-8、iso-8859-1、windows-1252 といった優先する文字エンコーディングを列挙できるようにするものでした。サーバーは最も適合するものを選び、それに従ってレスポンスボディをエンコードしていました。
非推奨
このヘッダーは非推奨です。現代の HTTP クライアントとサーバーは既定で UTF-8 を使用するため、文字セットネゴシエーションは不要になりました。このヘッダーを送信してもエンコーディングの好みが露出するだけで実用的な利点はなく、フィンガープリンティングの対象面を広げてしまいます。ブラウザはこのヘッダーを送信しなくなっており、サーバーは受信しても値を無視することが推奨されます。
UTF-8 は Unicode の全範囲を扱え、Web 全体で支配的なエンコーディングとなりました。Content-Type レスポンスヘッダーが charset パラメーターで選択したエンコーディングを伝えるため、独立したネゴシエーションの手順は不要です。
charset-name
utf-8 や iso-8859-1 のように、IANA に登録された文字エンコーディング名です。
*
ヘッダーにまだ列挙されていない任意のエンコーディングに一致するワイルドカードです。
;q=(品質値)
相対的な優先度を表す 0 から 1 の間の重みで、Accept と同じ構文に従います。既定の重みは 1.0 です。
例
UTF-8 を優先し、ISO 8859-1 をフォールバックとして示すクライアントです。品質値 0.7 はフォールバックの優先度が低いことを示します。
Accept-Charset: utf-8, iso-8859-1;q=0.7
UTF-8 を最高優先度で、その他のエンコーディングを低い優先度で受け入れる、より広いリクエストです。
Accept-Charset: utf-8, *;q=0.5