The Accept
request HTTP header advertises which content types, expressed as MIME types, the client is able to understand. Using content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the Content-Type
response header. Browsers set adequate values for this header depending of the context where the request is done: when fetching a CSS stylesheet a different value is set for the request than when fetching an image, video or a script.
Syntax
Accept: <MIME_type>/<MIME_subtype>
Accept: <MIME_type>/*
Accept: */*
// Multiple types, weighted with the quality value syntax:
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8
Directives
<MIME_type>/<MIME_subtype>
- A single, precise MIME type, like
text/html
.
<MIME_type>/*
- A MIME type, but without any subtype.
image/*
will match image/png
, image/svg
, image/gif
and any other image types.
*/*
- Any MIME type
;q=
(q-factor weighting)
- Any value used is placed in an order of preference expressed using relative quality value called the weight.
Examples
Accept: text/html
Accept: image/*
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8
Specifications
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
Servo |
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android |
Chrome for Android |
Edge Mobile |
Firefox for Android |
IE Mobile |
Opera Mobile |
Safari Mobile |
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
See also