2016-03-08 5 views
0

Я узнаю об HTTP2 и разработал POC, используя причал, который отлично работает в хроме.Возврат к http1.1, когда браузер не поддерживает http2

Но когда я нажимаю тот же URL-адрес в firefox i URL-адрес URL-адреса HTTP2 получил пустую страницу с исключением: «Страница, которую вы пытаетесь просмотреть, не может быть показана, потому что подлинность полученных данных не может быть проверена». После того, как вы обнаружили, что в firefox мне нужно включить network.http.spdy.enabled.http2 из «about: config».

Мой вопрос: если браузер не поддерживает HTTP2, есть ли какой-либо механизм на стороне сервера или браузера для отказа от HTTP1.

ответ

2

Jetty поддерживает возврат к HTTP/1.1, если клиент не поддерживает HTTP/2.

Не смотря на код на стороне сервера, я предполагаю, что вы не добавляете HttpConnectionFactory в качестве одной из фабрик при настройке ServerConnector, и поэтому вы не получите резервную копию.

Также учтите, что резервное копирование переходит от HTTP/2 через TLS к HTTP/1.1 через TLS; другими словами, вы находитесь на земле «https», и вы останетесь там, независимо от того, используете ли вы HTTP/2 или HTTP/1.1. Следовательно, вам нужно иметь надлежащий сертификат, чтобы произошла ошибка: вы не можете перейти от зашифрованного HTTP/2 к очистке текста HTTP/1.1.

This example показывает, как правильно настроить рабочий сервер HTTP/2 с откатом на HTTP/1.1.