it-swarm.com.de

HTTP Accept Header Bedeutung

Wenn der Header für die Anforderungsanforderung eines Browsers wie folgt lautet:

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

Bedeutet das, dass application/xml, application/xhtml+xml und text/html alle einen Qualitätsparameter von 0.9 haben?

Oder bedeutet es, dass application/xml und application/xhtml+xml den Standard (q=1) haben und text/html den q=0.9-Parameter hat?

Ich gehe davon aus, dass die Erstere, aber ich hoffte, dass jemand dies definitiv wusste.

43
mckamey

Nein, wenn der Parameter quality fehlt, wird q=1.0 angenommen:

Auf jeden Medienbereich KANN von einem oder mehreren Akzeptanzparametern gefolgt werden, beginnend mit dem Parameter "q" zur Angabe eines relativen Qualitätsfaktors […] unter Verwendung der q-Werteskala von 0 bis 1 (Abschnitt 3.9). Der Standardwert ist q = 1.

Der angegebene Wert ist also wie folgt zu interpretieren: “application/xml, application/xhtml + xml und image/png sind die bevorzugten Medientypen, die jedoch nicht existieren Senden Sie anschließend die Entität text/html (text/html;q=0.9). Wenn dies nicht vorhanden ist, senden Sie die Entität text/plain (text/plain;q=0.8). Wenn dies nicht vorhanden ist, senden Sie eine Entität mit einem anderen Medientyp (*/*;q=0.5). ”

43
Gumbo

Verbal würde dies als "application/xml", "application/xhtml + xml" und "image/png" als bevorzugte Medientypen interpretiert werden. Wenn sie nicht vorhanden sind, senden Sie die Entität "text/html" Wenn der Text/Plain-Entity noch nicht vorhanden ist, senden Sie eine Entity mit einem anderen Medientyp. "

0
周汉成