1

Что означают различные поля в поле принятия в HTTP-запросе? Я могу понять основы того, что через accept клиент сообщает серверу, какой тип информации он ожидает получить, например:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Таким образом, клиент сообщит серверу, что он может понимать три следующих формата:

  • текст /html
  • приложение / XHTML + XML
  • Приложение / XML

Но может ли кто-нибудь сказать мне, что означают значения q и что /

Также, если у меня есть какие-либо недостатки в моем понимании - пожалуйста, сообщите мне.

2 ответа2

0

они являются параметром относительного качества

они помогают определить предпочтения клиента относительно того, какой тип пантомимы они предпочтут. вот что говорит: я предпочитаю text/html,application/xhtml+xml,application/xml; но я возьму */* (что угодно), если это все, что у вас есть.

0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Одна вещь, которая сильно смутила меня, когда я впервые пытался это понять, заключается в том, что в этом контексте запятая является разделителем более высокого уровня, чем точка с запятой, в отличие от обычной практики.

То есть это должно быть разделено следующим образом:

   Content Type              Preference Level
====================================================
1. text/html                 unspecified (implies 1)
2. application/xhtml+xml     unspecified (implies 1)
3. application/xml           0.9
4. */* (anything else)       0.8

Я читал строку, естественно, в своей голове, разбивая ее сначала на точки с запятой, а затем на запятые, затем читая объяснение и вообще ничего не понимая. Поэтому я подумал, что было бы полезно объяснить это в явном виде.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .