¿Qué es q = 0.5 en Aceptar * encabezados HTTP?

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 

¿Qué significan estas ‘q =% f’?

Esto se llama un factor de calidad relativo . Especifica qué idioma preferiría el usuario, en una escala de 0 a 1, como se puede ver en la Especificación HTTP / 1.1, §14.4 :

Cada rango de idioma PUEDE tener un valor de calidad asociado que representa una estimación de la preferencia del usuario por los idiomas especificados por ese rango. El valor de calidad predeterminado es “q = 1”. Por ejemplo,

  Accept-Language: da, en-gb;q=0.8, en;q=0.7 

significaría: “Prefiero el danés, pero aceptaré inglés británico y otros tipos de inglés”.

Se llama factor de calidad relativo en la especificación:

Cada rango de medios PUEDE ser seguido por uno o más parámetros de aceptación, comenzando con el parámetro “q” para indicar un factor de calidad relativa. El primer parámetro “q” (si existe) separa el (los) parámetro (s) de rango de medios de los parámetros de aceptación. Los factores de calidad permiten al usuario o agente de usuario indicar el grado relativo de preferencia para ese rango de medios, utilizando la escala de valores q de 0 a 1 (sección 3.9). El valor predeterminado es q = 1.

El ejemplo

 Accept: audio/*; q=0.2, audio/basic 

DEBE interpretarse como “Prefiero audio / básico, pero envíame cualquier tipo de audio si es el mejor disponible después de un 80% de reducción de calidad”.

Ver también:

  • HTTP / 1.1: Definiciones de campo de encabezado

El parámetro de calidad de aceptar idiomas se puede entender así:

adjuntando Accept-Language: pl_PL;q=0.8, en_US;q=0.2, encabezado de la solicitud que comunicamos al servidor siguiente mensaje

Servidor, por favor proporcione la traducción al polaco de este sitio web, pero hágalo solo si su calidad es >= %80% de factor de calidad relacionado. En caso de que la calidad sea <80% , no me importa obtener la versión en inglés, porque es irrelevante para mí ya que hablo inglés de todos modos.

Así que, por ejemplo, como proveedor de contenido de la página web, podríamos introducir el análisis del encabezado Accept-Language de tal manera que nuestro sitio web sea adecuado para extranjeros que no hablan inglés (incluso la navegación traducida sería útil (páginas que solo traducen la navegación) , digamos, tiene q=0.1 ), donde el contenido totalmente traducido tiene q=0.9 y contenido totalmente traducido y verificado por hablantes nativos que hablan tanto el idioma original como el contenido del lenguaje traducido puede tener q=0.99 - porque esta es la única situación posible cuando del contenido está completamente transducido)