У меня есть служба REST Python, и я хочу обслуживать ее с помощью HTTP2. Моя текущая настройка сервера nginx -> Gunicorn
. Другими словами, nginx (порт 443 и 80, который перенаправляется на порт 443) работает как обратный прокси-сервер и отправляет запросы в Gunicorn (порт 8000, без SSL). nginx работает в режиме HTTP2, и я могу проверить, что с помощью chrome и проверки столбца "protocol" после отправки простого GET на сервер. Однако Gunicorn сообщает, что запросы, которые он получает, являются HTTP1.0. Кроме того, я не могу найти его в этом списке:
https://github.com/http2/http2-spec/wiki/Implementations
Итак, мои вопросы:
- Можно ли использовать приложение Python (Flask) с HTTP2? Если да, какие серверы поддерживают его?
- В моем случае (один обратный прокси-сервер и один обслуживающий фактический API), какой сервер должен поддерживать HTTP2?
Причина, по которой я хочу использовать HTTP2, заключается в том, что в некоторых случаях мне нужно выполнять тысячи запросов вместе, и мне было интересно узнать, может ли функция мультиплексированных запросов HTTP2 ускорить процесс. С запросами HTTP1.0 и Python в качестве клиента каждый запрос занимает ~ 80 мс, что неприемлемо. Другим решением было бы просто загрузить/загрузить ресурсы REST и отправить несколько запросов с одним запросом. Да, эта идея звучит просто отлично, но мне действительно интересно узнать, может ли HTTP2 ускорить процесс.
Наконец, я должен упомянуть, что для клиентской стороны я использую запросы Python с адаптером Hyper http2.