gzip_http_version 1.1; no Nginx, ao usar HTTP / 2

3

Em um bloco de servidor Nginx de um site destinado a trabalhar com HTTP / 2, vi isso:

gzip_http_version 1.1;

Isso pode causar algum conflito com alguns pacotes enviados em HTTP / 2?

Eu não entendo esta diretiva Gzip, portanto não posso dizer se os pacotes HTTP / 2 podem ser afetados por ela.

    
por JohnDoea 13.08.2017 / 19:58

1 resposta

3

gzip_http_version é a versão mínima do protocolo HTTP do a solicitação (vinda do cliente) necessária para compactar a resposta do servidor. O padrão é 1.1 .

Assim, qualquer agente de usuário que esteja enviando solicitação usando o protocolo versão 1.0, não obterá a resposta compactada do servidor; a resposta seria como é. Note que, definir o valor para 1.1 provavelmente prejudicaria um subconjunto muito pequeno de pessoas (provavelmente alguém com Win XP, que não é suportado agora BTW), se houver.

Para responder à sua pergunta:

  

Isso pode causar algum conflito com alguns pacotes enviados em HTTP / 2?

Não, como nginx lidaria com solicitações de maneira diferente com base no valor da variável $server_protocol (uma das HTTP/1.0 , HTTP/1.1 , HTTP/2.0 ).

Como observação, como o Transfer-Encoding header não é suportado em HTTP/1.0 , você não deve definir gzip_http_version to 1.0 . Caso contrário, você não obteria keepalives, pois o Content-Length header não está definido quando gzip_http_version é usado; O HTTP / 1.1 aborda isso usando Transfer-Encoding: chunked header.

    
por heemayl 16.08.2017 / 07:05