Браузеры поддерживают только HTTP / 2 через SSL / TLS .Это связано как с практическими, так и с идеологическими причинами.
С практической стороны, упаковка пакетов в HTTPS значительно снижает вероятность того, что инфраструктура, не поддерживающая HTTP / 2, не справится с новым протоколом.Microsoft была единственным браузером, который сказал, что они разрешат незашифрованный HTTP / 2, но даже не сделали этого (по-видимому, увидев ошибки соединения).HTTP / 2 также может быть согласован как часть рукопожатия TLS, которое экономит время при обновлении до HTTP / 2.
С идеологической точки зрения существует признание того, что весь веб-трафик должен быть зашифрован в целях безопасности и конфиденциальности, и поэтомубраузеры поощряют использование HTTPS (или, если быть более точным, они препятствуют простому использованию HTTP), но ограничивают доступ к некоторым новым функциям, таким как HTTP / 2, только для подключений HTTPS.
Даже если браузеры поддерживают только HTTP / 2 через HTTPSсам протокол не требует этого.Это позволяет использовать HTTP / 2 для внутренних подключений, например, если вы завершаете HTTPS на пограничном узле.Идея в том, что вы в большей степени контролируете этот трафик, чем в открытом Интернете, через который обычно работает браузер.Таким образом, вы можете проверить свои настройки с помощью curl, например, чтобы проверить, работает ли незашифрованный HTTP / 2 (при условии, что у вас есть последняя версия curl с этой поддержкой):
curl --http2-prior-knowledge -v http://www.example.com
Хотя полезность этого теста спорнаесли вы хотите это для доступа через браузер.