как долго соединение будет поддерживаться в Http / 2 - PullRequest
0 голосов
/ 16 декабря 2018

Как долго соединение будет поддерживаться в Http / 2?Я понимаю, что Http / 2 использует одно соединение на домен и выполняет мультиплексирование.Но я не получил никакой информации о том, как долго будет поддерживаться связь.

1 Ответ

0 голосов
/ 15 января 2019

Как и в HTTP / 1.1, время, в течение которого соединение поддерживается в HTTP / 2, зависит от реализации клиента и сервера.В спецификации HTTP / 2 указано, что

HTTP / 2-соединения являются постоянными.Для достижения максимальной производительности ожидается, что клиенты не будут закрывать соединения, пока не будет определено, что дальнейшая связь с сервером не требуется (например, когда пользователь уходит с определенной веб-страницы) или пока сервер не закроет соединение.

[...]

Серверам рекомендуется поддерживать открытые соединения как можно дольше, но при необходимости им разрешается прерывать незанятые соединения.Когда одна из конечных точек решает закрыть TCP-соединение транспортного уровня, конечная точка ДОЛЖНА сначала отправить кадр GOAWAY (раздел 6.8), чтобы обе конечные точки могли надежно определить, были ли обработаны ранее отправленные кадры, корректно завершить или завершить любые необходимые оставшиеся задачи.

Таким образом, обе конечные точки могут корректно закрыть соединение, отправив кадр GOAWAY. Nginx и Apache позволяют настроить тайм-аут, после которого простаивающее соединение HTTP / 2 закрывается.Значение по умолчанию для nginx - 3 минуты, для Apache - 5 секунд.

...