Как HTTP/2 влияет на реализацию прокси-сервера? Особенно, например, когда клиент отправляет HTTP/2-запрос на сервер содержимого, который поддерживает только HTTP/1.x, должен ли прокси-сервер преобразовывать запрос HTTP/2 в запрос HTTP/1.x, прежде чем направлять запрос клиента на сервер контента? И после получения ответа от сервера контента, должен ли прокси-сервер преобразовывать ответ в формат HTTP/2 перед отправкой его обратно клиенту?
Что означает HTTP/2 для обратного прокси-сервера?
Ответ 1
Да, именно так, как вы говорите. Преобразование из HTTP/2 в HTTP/1.1 должно происходить в одном направлении, а из HTTP/1.1 в HTTP/2 должно происходить в другом случае.
На практике это означает, что хотя протокол HTTP/2 не требует традиционного текстового синтаксического анализатора, всеобъемлющему серверу HTTP/2 необходим синтаксический анализатор HTTP/1.1, а не только для работы с клиентами, использующими только HTTP/1.1 (среди них сканеры). ) но и для общения с внутренними приложениями.
При использовании одним из наиболее важных прикладных протоколов является FastCGI. FastCGI также требует анализа HTTP/1.1-ответов от приложения и преобразования в HTTP/2-ответы клиенту.
Ответ 2
Как обсуждалось dsign, ваше понимание правильное.
Однако я подумал, что стоит отметить, что по-прежнему существуют огромные преимущества для HTTP/2 на вашем пограничном соединении (т.е. ваш обратный прокси), поскольку проблемы, решаемые HTTP/2 (в первую очередь латентность), являются менее значимыми из-за типично более коротких, обычно с высокой пропускной способностью от обратного прокси-сервера до сервера содержимого.
Например, если у вас есть задержка 100 мс на обратном прокси на границе и только 1 мс задержка между обратным прокси-сервером и сервером содержимого, то тот факт, что сервер содержимого говорит HTTP/1.1 на прокси-сервер, вероятно, не будет оказывают значительное влияние на производительность из-за сверхбыстрых 1 мс латентности. Таким образом, конечный клиент (говорящий HTTP/2 с обратным прокси) по-прежнему видит, что огромная производительность похвастается HTTP/1.1.