18

1.2018

Переходимо на HTTP/2?

Історія виникнення

HTTP/2 бере свій початок від HTTP/1.1 (1999 року випуску), який вірно служить нам вже довгих 20 років.

HTTP/1.1 добре себе зарекомендував, проте в нього є один суттєвий недолік: для кожного запиту між браузером та сервером, на кшталт підвантажити картинку, файл стилів чи скрипт, – протокол створює окреме TCP-з’єдання.

Оскільки для браузера існують обмеження по кількості одночасних з’єднань, то веб-сторінки з великою кількістю контенту завантажуються повільніше ніж хотілось би.

Через таке обмеження на кількість одночасних підключень та велику “вагу” контенту, були спроби вирішення цієї проблеми. Одна з них — це використання технік оптимізації сайту. Друга спроба більш складніша — це модифікація самого протоколу HTTP.

Перша масштабна спроба реформування HTTP була представлена інженерами Google, ще в 2009 році. Мова йде про протокол SPDY основною метою якого було змінити традиційні способи передачі даних.

Протокол HTTP/2 побудований на базі SPDY і має багато нововведень описаних нижче. Він сумісний із своїм попередником HTTP/1.1.

Що нового в протоколі HTTP/2?

Найголовніше нововведення що було застосоване розробниками — це мультиплексування — метод що дозволяє використати лише одне TCP-з’єднання для всіх запитів.

Це дозволяє істотно економити мережеві ресурси і ресурси сервера, а також виключає затримки, необхідні для установки нових з’єднань. Сайти завантажуються значно швидше, що особливо помітно на смартфонах і планшетах.

Також варто зазначити й інші нововведення HTTP/2:

  • протокол HTTP/2 став бінарним на відміну від текстового HTTP 1.1 (значить він більш ефективний при парсингу, менш схильний до помилок, та більш компактний при передачі даних);
  • пріоритизація трафіку (при завантаженні браузер спочатку отримуватиме html, .css та .js, а потім все другорядне);
  • функція Server Push – дозволяє серверу автоматично відсилати кешовану інформацію, не чекаючи відповіді від браузера, що істотно скорочує час завантаження;
  • протокол вже сам по собі оптимізований, тому не потрібно використовувати ніяких хитрощів: обєднання .js та .css файлів, спрайти з картинок, завантаження контенту з домена без cookies, та інше;
  • використання компресії заголовків HPACK (дозволить скоротити об’єм допоміжної інформації).

Статистика користувачів

За даними статистики січня 2016 року, відсоток сервісів та веб-ресурсів які перейшли на HTTP/2 становив 6,5%, а станом на грудень 2017 року — їх кількість збільшилась щонайменше втричі і становить 24,0%.

Підтримка браузерами

Відповідно до даних ресурсу CanIUse.com, даний протокол вже підтримують наступні браузери, і за даними цього ж сайту це складає близько 70% всього трафіку:

  • IE 11 в Windows 10;
  • Edge 12 і 13;
  • Firefox 36 — 45;
  • Chrome 41 — 49
  • Safari 9;
  • Opera 28 — 34;
  • Safari для iOS 9.1;
  • Opera 30 для Android;
  • Chrome 46 для Android;
  • Firefox 41 для Android.

Вимоги по безпеці

Одним із найважливіших вимог протоколу SPDY є обов’язкове шифрування з’єднання між клієнтом і сервером. У HTTP/2 воно обов’язкового характеру не має. Проте є дещо важливіше.

Тим, хто замислюється про перехід на HTTP/2, потрібно спочатку перейти на HTTPS — безпечне (шифроване) з’єднання, тому що для пошукових роботів Google використання безпечного з’єднання є одним з критеріїв ранжування сайту. Детальніше про перехід на HTTPS розповідаємо в нашій іншій статті.

Оптимізація сайту та швидкість роботи на протоколі HTTP/2

В теорії, при переході на HTTP/2-протокол, Ваш сайт, який був колись оптимізований для швидкості завантаження сторінок та підвищення продуктивності для протоколу HTTP.1.1, буде працювати не так швидко як раніше, тому що багато методів оптимізації які успішно працювали в HTTP/1.1 в новому протоколі працювати не будуть.

Проте на практиці, протокол швидший. Це дослідили спеціалісти з HttpWatch, коли по черзі протестували швидкість завантаження сайту на цих двох протоколах. Вони виявили, що швидкість завантаження сторінки виросла на 23% в порівнянні зі старим протоколом. При чому, вони також стверджують, що поки технологія не до кінця оптимізована, та очікують реальний ріст в районі 30%. Переходимо?

Звертаємо увагу на те, що епоха HTTP/2 не за горами, оскільки більшість сучасних браузерів вже підтримують даний протокол.

Звертайтесь, і наша команда допоможе здійснити міграцію Вашого веб-сайту на новий HTTP/2-протокол та проведе всі налаштування для його коректної роботи.