nginx z obsługą http/2

HTTP 1.1 vs HTTP/2

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

Tagged: