it-swarm-pt.tech

O que é q = 0.5 em Aceitar * cabeçalhos 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

O que esses 'q =% f' significam?

181
kolypto

Isso é chamado de fator de qualidade relativo . Ele especifica qual idioma o usuário preferiria, em uma escala de 0 a 1, como pode ser visto no Especificação HTTP/1.1, §14.4 :

Cada intervalo de idioma PODE receber um valor de qualidade associado que representa uma estimativa da preferência do usuário para os idiomas especificados por esse intervalo. O valor da qualidade é padronizado como "q = 1". Por exemplo,

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

significaria: "Eu prefiro o dinamarquês, mas aceito inglês britânico e outros tipos de inglês."

227
Tim Cooper

É chamado de fator de qualidade relativo na especificação:

Cada faixa de mídia PODE ser seguida por um ou mais parâmetros de aceitação, começando com o parâmetro "q" para indicar um fator de qualidade relativo. O primeiro parâmetro "q" (se houver) separa o (s) parâmetro (s) da faixa de mídia dos parâmetros de aceitação. Os fatores de qualidade permitem que o usuário ou agente do usuário indique o grau relativo de preferência para essa faixa de mídia, usando a escala qvalor de 0 a 1 (seção 3.9). O valor padrão é q = 1.

...

O exemplo

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

DEVE ser interpretado como "Eu prefiro áudio/básico, mas envie-me qualquer tipo de áudio se for o melhor disponível após uma redução de 80% na qualidade."

Veja também:

34
Sebastian Paaske Tørholm

O parâmetro de qualidade Accept-languages ​​pode ser entendido da seguinte forma:

ao anexar o cabeçalho Accept-Language: pl_PL;q=0.8, en_US;q=0.2, à solicitação, comunicamos ao servidor a seguinte mensagem

Servidor, por favor me fornecer tradução polaca deste site, mas por favor, faça isso apenas se a sua qualidade é >= %80% de fator de qualidade relacionada. Caso a qualidade seja <80% - não me importo de obter a versão em inglês, porque é irrelevante para mim já que falo inglês de qualquer maneira.

Assim, por exemplo, como um provedor de conteúdo de página da Web, podemos introduzir a análise de cabeçalho Accept-Language de tal forma que nosso site seja adequado para estrangeiros que não falam inglês (então, mesmo a navegação traduzida seria útil (páginas que traduzem somente a navegação, digamos, tenha q=0.1), onde o conteúdo totalmente traduzido tem q=0.9 e o conteúdo totalmente traduzido e verificado por falantes nativos que falam tanto o conteúdo do idioma original quanto o idioma traduzido pode ter q=0.99 - porque essa é a única situação possível quando significado de o conteúdo é totalmente transduzido)

3
test30