gzip_http_version 1.1; в Nginx, при использовании HTTP / 2

В блоке сервера Nginx сайта, предназначенном для работы с HTTP / 2, я видел это:

gzip_http_version 1.1;

Может ли это возникнуть конфликт с некоторыми пакетами, отправленными в HTTP / 2? [ ! d1]

Я не понимаю эту директиву Gzip, поэтому я не могу сказать, может ли это повлиять на HTTP / 2 пакет.

3
задан 13 August 2017 в 20:58

3 ответа

gzip_http_version - минимальная версия HTTP-протокола запроса (поступающего от клиента), необходимого для сжатия ответа от сервера. По умолчанию используется значение 1.1.

Таким образом, любой пользовательский агент, отправляющий запрос с использованием протокола версии 1.0, не получит ответ, сжатый с сервера; ответ будет идти как есть. Обратите внимание, что установка значения в 1.1 могла бы повредить очень маленькую подгруппу толпы (возможно, кто-то с Win XP, который теперь не поддерживается BTW), если есть.

Чтобы ответить на ваш вопрос:

Может ли это вступить в конфликт с некоторыми пакетами, отправленными в HTTP / 2?

Нет, поскольку nginx обрабатывал запросы по-разному в зависимости от значения переменной $server_protocol (один из HTTP/1.0, HTTP/1.1, HTTP/2.0).

[ ! d9]

В качестве примечания стороны, поскольку заголовок Transfer-Encoding не поддерживается в HTTP/1.0, вы не должны устанавливать gzip_http_version на 1.0. В противном случае вы не получите keepalives, поскольку заголовок Content-Length не установлен, когда используется gzip_http_version; HTTP / 1.1 решает эту проблему с помощью заголовка Transfer-Encoding: chunked.

2
ответ дан 22 May 2018 в 19:30

gzip_http_version - минимальная версия HTTP-протокола запроса (поступающего от клиента), необходимого для сжатия ответа от сервера. По умолчанию используется значение 1.1.

Таким образом, любой пользовательский агент, отправляющий запрос с использованием протокола версии 1.0, не получит ответ, сжатый с сервера; ответ будет идти как есть. Обратите внимание, что установка значения в 1.1 могла бы повредить очень маленькую подгруппу толпы (возможно, кто-то с Win XP, который теперь не поддерживается BTW), если есть.

Чтобы ответить на ваш вопрос:

Может ли это вступить в конфликт с некоторыми пакетами, отправленными в HTTP / 2?

Нет, поскольку nginx обрабатывал запросы по-разному в зависимости от значения переменной $server_protocol (один из HTTP/1.0, HTTP/1.1, HTTP/2.0).

[ ! d9]

В качестве примечания стороны, поскольку заголовок Transfer-Encoding не поддерживается в HTTP/1.0, вы не должны устанавливать gzip_http_version на 1.0. В противном случае вы не получите keepalives, поскольку заголовок Content-Length не установлен, когда используется gzip_http_version; HTTP / 1.1 решает эту проблему с помощью заголовка Transfer-Encoding: chunked.

2
ответ дан 18 July 2018 в 08:34

gzip_http_version - минимальная версия HTTP-протокола запроса (поступающего от клиента), необходимого для сжатия ответа от сервера. По умолчанию используется значение 1.1.

Таким образом, любой пользовательский агент, отправляющий запрос с использованием протокола версии 1.0, не получит ответ, сжатый с сервера; ответ будет идти как есть. Обратите внимание, что установка значения в 1.1 могла бы повредить очень маленькую подгруппу толпы (возможно, кто-то с Win XP, который теперь не поддерживается BTW), если есть.

Чтобы ответить на ваш вопрос:

Может ли это вступить в конфликт с некоторыми пакетами, отправленными в HTTP / 2?

Нет, поскольку nginx обрабатывал запросы по-разному в зависимости от значения переменной $server_protocol (один из HTTP/1.0, HTTP/1.1, HTTP/2.0).

[ ! d9]

В качестве примечания стороны, поскольку заголовок Transfer-Encoding не поддерживается в HTTP/1.0, вы не должны устанавливать gzip_http_version на 1.0. В противном случае вы не получите keepalives, поскольку заголовок Content-Length не установлен, когда используется gzip_http_version; HTTP / 1.1 решает эту проблему с помощью заголовка Transfer-Encoding: chunked.

2
ответ дан 24 July 2018 в 19:07

Другие вопросы по тегам:

Похожие вопросы: