8.1.1 Протокол HTTP/2 та його підтримка

HTTP/2

HTTP/2 (скор. HyperText Transfer Protocol/2) — друга велика версія мережевого протоколу HTTP, яка використовується для доступу до ресурсів всесвітньої мережі Інтернет. Протокол HTTP/2 може помітно прискорювати завантаження веб-сайтів за рахунок таких особливостей:

  • зменшення розміру технічних заголовків: на відміну від HTTP версій 1.0 і 1.1, новий протокол виконує стиснення технічних заголовків що зменшуємо обсяг переданих даних;
  • мультиплексування з’єднань: HTTP/2 дозволяє надсилати кілька запитів через одне TCP-з’єднання із сервером. Такий підхід зменшує накладні витрати на відкриття нових TCP-з’єднань і дозволяє практично не обмежувати кількість ресурсів, що одночасно передаються;
  • пріоритизація потоків: веб браузер може передавати серверу пріоритети, що вказують якого виду ресурси йому важливіші, ніж інші;
  • ініціація відправки даних із боку сервера: у протоколі HTTP/2 сервер може привентивно відправляти клієнту дані, які той ще запитував, використовуючи, наприклад, дані у тому, яку наступну сторінку найчастіше відкривають користувачі.

Протокол HTTP/2 підтримується такими веб-серверами:

  • Nginx з версії 1.9.5;
  • Apache2.4.17 підтримує HTTP/2 за допомогою модуля mod_http2 module;
  • Lighttpd з версії 1.4.59;
  • IIS підтримує HTTP/2 починаючи з Windows 10 та Windows Server 2016.