TL;DR

クライアントが受け入れられるレスポンスのコンテンツタイプを指定する HTTP リクエストヘッダである。

仕組み

省略でき、複数の値を指定できる。指定できる値は RFC 9110 12.5.1 Accept で定義されている。

RFC 9110 によると、値はメディアレンジの並びで、*/* はすべてのメディアタイプを、text/* のような type/* はその型のすべてのサブタイプを表す。各メディアレンジの後ろには q パラメータで相対的な重みを付けられる。1 つのメディアタイプに複数のメディアレンジが当てはまるときは、最も具体的なものが優先される。サーバがレスポンスで Accept を送ると、同じリソースへの次のリクエストで好ましいコンテンツタイプを伝えることになる。

例

text/html、text/css、image/* などを指定する。

RFC 9110 の例では、Accept: audio/*; q=0.2, audio/basic は「audio/basic が望ましいが、なければどの音声形式でもよい」という意味になる。

関連

出典