HTTP Accept Header meaning

谁说我不能喝 提交于 2019-12-29 03:25:07

问题


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.


回答1:


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




回答2:


Verbally,this would be interpreted as "application/xml,application/xhtml+xml and image/png are the preferred media types,but if they do not exist,then send the text/html entity,and if that does not exist,send the text/plain entity,if that still does not exist,send an an entity with any other media type."



来源:https://stackoverflow.com/questions/5331452/http-accept-header-meaning

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!