2012-05-08 17 views
12

Zrobiłem żądania http przy użyciu Firefox.Now nagłówek wniosek zawiera następujące informacje:Jaki jest cel wartości "q" w nagłówku żądania "Zaakceptuj" HTTP?

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

Ale ciekaw, co jest q=0.9,*/*;q=0.8

+1

Określa * q * właściwość powiązaną z konkretnymi kodowaniami. Zobacz [standard] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). –

+0

możliwy duplikat [Co to jest q = 0.01 $ .getJSON dodaje do nagłówka żądania?] (Http://stackoverflow.com/questions/9820195/what-is-the-q-0-01-getjson-adds- to-the-request-header) – Jon

+1

możliwy duplikat [Co to jest q = 0,5 w Accept \ * nagłówkach HTTP?] (http://stackoverflow.com/questions/8552927/what-is-q-0-5-in -accept-http-headers) – Sphinxxx

Odpowiedz

16

Każdy media zakresu mogą być następnie przez jeden lub więcej accept- params, zaczynając od parametru "q" dla wskazania względnego współczynnika jakości. Pierwszy parametr "q" (jeśli występuje) oddziela parametry zakresu mediów od parametrów akceptujących. czynniki jakościowe pozwalają kliencka lub użytkownikowi wskazać relatywny stopień preferencji dla tego nośnika zasięgu, za pomocą skali qvalue od 0 do 1. Wartość domyślna wynosi q = 1

Informacje dostępne here

Ładne wyjaśnienie można znaleźć również here.

10

Lista nagłówków Accept jest najpierw dzielona na ,, a następnie na ; dla dodatkowych parametrów dla każdego wpisu. Tak więc lista w twoim przykładzie dzieli się na text/html, application/xhtml+xml, application/xml;q=0.9 i . Parametr q= dla każdego wpisu wskazuje serwerowi stopień preferencji dla tego rodzaju nośnika. Domyślnie jest to maksymalna wartość 1, jeśli jej brakuje (jak w pierwszych 2 wpisach). Ostatni wpis */*;q=0.8 wskazuje serwerowi, że ostatecznie dowolny typ treści byłby akceptowalny, ale byłby mniej korzystny niż inne wymienione. W przeciwnym razie serwer może zdecydować się nie wysyłać żadnych treści, ponieważ klient i tak by tego nie zaakceptował.

1

Aby dodać do @ poprawną odpowiedź Robin479 za nagłówek przyjąć w tej kwestii jest równoważna,

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

UWAGA: nowe postacie linii są tylko dla lepszej czytelności.

0

Wartość Q jest liczbą od zera do 1 i reprezentuje względną wartość jakości. Domyślna wartość Q to 1,0.

Coś o wartości Q 0,9 jest tylko trochę bardziej korzystne niż coś o wartości Q równej 0,6.