このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Accept ヘッダー

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

HTTP の Accept リクエストおよびレスポンスヘッダーは、送信者が理解できるコンテンツ型(MIME タイプで表現)を示します。リクエストでは、サーバーはコンテンツネゴシエーションを使用して提案の中から 1 つを選択し、 Content-Type レスポンスヘッダーでその選択をクライアントに通知します。 レスポンスでは、リクエストされたリソースへのメッセージにおいて、サーバーが理解できるコンテンツ型に関する情報を指定します。これにより、そのコンテンツ型をリソースへの後続のリクエストで使用することができます。

ブラウザーは、リクエストのコンテキストに基づいてこのヘッダーに要求される値を設定します。 例えば、CSS スタイルシート、画像、動画、またはスクリプトを取得する際、ブラウザーはリクエスト内で異なる値を使用します。

ヘッダー種別 リクエストヘッダー, レスポンスヘッダー
禁止リクエストヘッダー いいえ
CORS セーフリストリクエストヘッダー はい*

* 値には CORS-unsafe request header bytes を入れることはできません。これには "():<>?@[\]{},、削除 0x7F、制御文字 0x000x19 を含みますが、タブ 0x09 は除きます。

構文

http
Accept: <media-type>/<MIME_subtype>
Accept: <media-type>/*
Accept: */*

// 品質値構文で重みをつけた複数の型
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8

ディレクティブ

<media-type>/<subtype>

単一の詳細な MIME タイプ、例えば text/html です。

<media-type>/*

MIME タイプですが、サブタイプがありません。 例えば image/*image/png, image/svg, image/gif 及びその他の画像型に一致します。

*/*

すべての MIME タイプ。

;q= (Q 値の重み)

重みと呼ばれる、相対的な品質値を使用して表現される優先順位の順序で配置された値です。

デフォルトの Accept リクエストヘッダーの使用

コマンドラインツール、例えば curlwget)で発行される HTTP リクエストでは、Accept ヘッダーのデフォルト値として */* が使用されます。

http
GET / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*

ブラウザーのナビゲーションでは通常、以下の Accept リクエストヘッダー値が設定されます。

http
GET /ja/ HTTP/2
Host: developer.mozilla.org
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
…

文書を送信すると、developer.mozilla.org の画像リクエストにおけるデフォルトの Accept 値は同様に次のようになります。

http
Accept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5

JSON レスポンスに対する Accept リクエストヘッダーの設定

API を扱うシステムでは、application/json 形式のレスポンスが一般的に要求されます。 以下は、クライアントが特定の JSON レスポンスをリクエストする GET リクエストの例です。

http
GET /users/123 HTTP/1.1
Host: example.com
Authorization: Bearer abcd123
Accept: application/json

仕様書

仕様書
HTTP Semantics
# field.accept

ブラウザーの互換性

関連情報