Каково значение "q = 0,9, */*; q = 0,8"

Я изучаю протокол http. когда я использую fiddler, чтобы поймать запрос, я нахожу некоторые аргументы специальными.

часть запроса http:

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryiUs1bDxxBwTvwCxS
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,\*/\*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3

Что означают аргументы q=0.9,\*/\*;q=0.8 в заголовке Accept, q=0.8 в заголовке Accept-Language и q=0.7,*;q=0.3 в заголовке Accept-Charset?

Ответ 1

Выдержка из этой страницы http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html:

Примечание. Использование имени параметра "q" для разделения типа материала       параметры из параметров расширенного приема зависят от исторических       практика. Хотя это предотвращает любой параметр типа носителя, названный        "q" не используется с диапазоном носителей, такое событие считается       маловероятно, учитывая отсутствие каких-либо параметров "q" в IANA       реестр носителей и редкое использование любого типа мультимедиа       параметров в Accept. Будущие медиа-типы обескураживают       регистрируя любой параметр с именем "q".

Это в основном способ дать браузеру способ указать предпочтение для определенного типа медиа.