Dopiero co 16 września została ogłoszona informacja o wsparciu nowego protokołu HTTP/2 w Nginx Plus R7, a już kilka dni później zespół pracujący nad nginx ogłosił dodanie modułu wspierającego HTTP/2 do wersji open source (od wersji nginx 1.9.5).
Czym jest HTTP/2? Grupie roboczej chodziło o przyspieszenie ładowania się stron internetowych, które w dzisiejszych czasach są tworzone w zupełnie inny sposób (duża ilość jednoczesnych zapytań, „cięższe” strony, dużo małych plików). To spowodowało wymóg rozwiązania problemu limitu jednoczesnych otwartych połączeń TCP do serwera, automatycznej kompresji nagłówków HTTP.
A równocześnie grupie chodziło o zachowanie maksymalnej kompatybilności z HTTP 1.1 (te same metody, statusy, URI, większość nagłówka).
Co wyszło z HTTP/2?
HTTP/2 to:
- wykorzystanie pojedynczego, stałego połączenie z domeną (zamiast wielu połączeń)
- połączenie są zmultipleksowane
- dane nagłówka są kompresowane i wysyłane w zwięzłym binarnym formacie (zamiast plain/text)
- przyspiesza również połączenia SSL
Jak korzystać? Serwer i przeglądarka
Po stronie serwera jedyne co należy zrobić to włączyć nasłuchiwanie na HTTP/2 (wymaga połączenia SSL). Teoretycznie HTTP/2 nie wymaga szyfrowania, ale większość przeglądarek internetowych obsługuje HTTP/2 wyłącznie po TLS-ie. Dlatego de facto bez certyfikatu SSL się nie obędzie.
Natomiast po stronie klienta „wystarczy” posiadać najnowszą przeglądarkę. Dzisiaj wszystkie najnowsze przeglądarki internetowego obsługują nową wersję protokołu HTTP:
- Microsoft Edge
- Microsoft Internet Explorer 11 (w wersji dla Windows 10)
- Opera
- Chrome
- Safari 9
- Firefox 36 i nowszy
Jeśli macie SSL, wolny adres IP – zapraszam do testów.
Darmowy e-book: HTTP/2 for Web Application Developers