HTTP Accept Header meaning

46,289

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).”

Share:
46,289

Related videos on Youtube

mckamey
Author by

mckamey

Feelin' the flow. Workin' it. Workin' it.

Updated on August 18, 2020

Comments

  • mckamey
    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, and text/html all have a quality param of 0.9?

    Or does it mean that application/xml and application/xhtml+xml have the default (q=1) and text/html has the q=0.9 param?

    I'm assuming the former, but was hoping someone knew more definitively.

  • mckamey
    mckamey about 13 years
    So to clarify, the ;q=0.9 only applies to text/html in the example? And as a corollary, image/png is also q=1?
  • mckamey
    mckamey about 13 years
    I read the RFC but found it to be ambiguous, hence the question. So does the media-range fully end at each ','?
  • Simen S
    Simen S about 13 years
    There 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