HTTP Accept Header meaning
No, if the quality parameter is missing q=1.0
is assumed:
Each media-range MAY be followed by one or more accept-params, beginning with the "q" parameter for indicating a relative quality factor […] using the qvalue scale from 0 to 1 (section 3.9). The default value is q=1.
So the given value is to be interpreted as: “application/xml, application/xhtml+xml, and image/png are the preferred media types, but if they don’t exist, then send the text/html entity (text/html;q=0.9
), and if that doesn’t exist, then send the text/plain entity (text/plain;q=0.8
), and if that doesn’t exist, send an entity with any other media type (*/*;q=0.5
).”
Related videos on Youtube
Comments
-
mckamey over 3 years
When a browser's Accept request header says something like the following:
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Does that mean that
application/xml
,application/xhtml+xml
, andtext/html
all have a quality param of0.9
?Or does it mean that
application/xml
andapplication/xhtml+xml
have the default (q=1
) andtext/html
has theq=0.9
param?I'm assuming the former, but was hoping someone knew more definitively.
-
mckamey about 13 yearsSo to clarify, the
;q=0.9
only applies totext/html
in the example? And as a corollary,image/png
is alsoq=1
? -
mckamey about 13 yearsI read the RFC but found it to be ambiguous, hence the question. So does the media-range fully end at each '
,
'? -
Simen S about 13 yearsThere is a nice blog article on accept headers here: gethifi.com/blog/browser-rest-http-accept-headers Amongst other things the OP's question is adressed