Версія протоколу HTTP/2 прийшла на заміну HTTP/1.1 у 2015 році, як давно дозріле та очікуване рішення. З часів попередника (1997 р.) витекло чимало води. І те, що легко міг опрацьовувати старенький HTTP (Hyper Text Transport Protocol) в нульових, сьогодні стає непомірним тягарем. Проблема загострювалась з постійно зростаючою кількістю HTTP запитів між клієнтом та сервером. І вже не важливо, який фреймворк чи CMS в основі, сучасний сайт давно перетворився в важкий та чисельний набір шрифтів, css стилів, іконок, графіки, скриптів та бібліотек, що підтягують інші скрипти та бібліотеки і так далі і так далі. Ось ця скромна сторінка (здавалось би, куди вже простіше) і та виконує десятки різноманітних HTTPS запитів під час завантаження. І кожен такий HTTP/1.1 запит — окреме TCP з’єднання. Звісно ж, це надлишкове навантаження і на сервер, і на мережу, збільшений загальний час очікування. А що вже казати про реально важкі та інтерактивні системи, де кількість паралельних запитів сягає обмежень браузера. Тут вже ніякою оптимізацією (агрегація/мінімізація/обфускація) не вирішити проблему в рамках HTTP/1.1. Єдиний раціональний підхід — увімкнути HTTP/2 протокол!
HTTP/2 працює лише з захищеними SSL/TLS з’єднанням. Детально про SSL/TLS сертифікати, їх різновидності та налаштування можете прочитати тут і ось тут.
Щоб дізнатися, за яким саме протоколом працює сайт (HTTP/1.1 чи HTTP/2), загляньте в консоль браузера або скористайтесь ресурсом https://http2.pro/.
Мультиплексування — об'єднання кількох HTTP запитів в єдиний TCP. Власне це і є основна концептуальна відмінність між протоколами HTTP/1.1 та HTTP/2. Тепер не потрібно кожен HTTP запит надсилати серверу окремим TCP. Що не тільки знімає зайве навантаження з мережі та сервера, але й суттєво пришвидшує роботу сайту в цілому. Окрім мультиплексування новий протокол реалізує механізм пріоритетності, де кожен потік має власний пріоритет завантаження. Таким чином можна регулювати, що саме віддати в першу чергу, а що може почекати.
Server push. Механізм передбачає можливість відправлення додаткових даних сервером клієнту за ініціативи сервера. В теорії річ можливо і хороша, але вона вимагає підтримки браузером, і далеко не всі оглядачі її підтримують чи вмикають по замовчуванню.
Headers. Відтепер усі заголовки відправляються в стисненому виді. Що само по собі зменшує загальний обсяг переданих даних. А ще HTTP/2 використовує новий алгоритм HPACK для запобігання відомим вразливостям.
Пам'ять | RAM | Тестовий | Період | Ціна* | Промокод | Огляд | |
---|---|---|---|---|---|---|---|
HostPro | 10-30 ГБ | 512-1536 МБ | 7 днів | від 3,95$/місяць | -10% | ||
Ukraine | 3-15 ГБ | 512-1536 МБ | 5 днів | від 152₴/місяць | |||
HOSTiQ | 25-75 ГБ | 1536-2560 МБ | 30 днів | від 180₴/місяць | |||
CityHost | 5-30 ГБ | 512-1024 МБ | 10 днів | від 82₴/місяць | -10% | ||
UkrLine | 5-450 ГБ | 128-5120 МБ | 7 днів | від 0.85$/місяць | |||
Nic.Ua | 1-10 ГБ | 128-512 МБ | 10 днів | від 142₴/місяць | |||
Parkovka | 0,5-10 ГБ | 128 МБ | відсутній | від 46₴/місяць | |||
S-Host | 5-15 ГБ | 512 МБ | 7 днів | від 55₴/місяць | |||
BestHosting | 7,5-120 ГБ | 128-256 МБ | 7 днів | від 2,02$/місяць | |||
HyperHost | 1-15 ГБ | 256-1024 МБ | 7 днів | від 40₴/місяць |
Питання спеціалізованого HTTP/2 хостингу мало місце лише на перших порах. В 2016 році Google оголосив про стовідсоткову підтримку протоколу, і стандарт пішов у маси. Подейкують, що пошукові алгоритми віддають перевагу HTTP/2 сайтам. Хтось пояснює це сугубо кращими поведінковими чинниками. Сьогодні усі професійні провайдери підтримують новий стандарт, а деякі навіть автоматично умикають його при наявності SSL/TLS сертифікату. Якщо ж HTTP/2 не увімкнено автоматично, зробити це можна самостійно в панелі адміністрування або запитом в підтримку. Для Nginx конфігурації достатньо замінити listen 443 ssl;
на listen 443 ssl http2;
та застосувати зміни командою $ service nginx reload
.