HTTP/3 - все про новий протокол передачі гіпертексту
Що таке HTTP/3?
HTTP/3 - це наступна основна версія протоколу передачі гіпертексту (HTTP). Він підвищує швидкість, безпеку та надійність.
Рушійною силою появи HTTP/3 є прискорення і підвищення ефективності передачі інформації через Інтернет. Інтернет має жагу до швидкості, особливо у зв'язку з тим, що потреба у відео, безперервному обміні повідомленнями про події та інших типах потокового передавання даних поширюється на ширший набір додатків. HTTP/3 призначений для задоволення цієї вимоги.
HTTP/3 походить від QUIC. QUIC - це абревіатура від Quick UDP Internet Connections. QUIC було створено в Google, який випустив першу версію специфікації дизайну у 2012 році. У 2018 році QUIC було об'єднано з робочою групою HTTP Інженерної робочої групи Інтернету для створення специфікації HTTP/3. Мета полягає в тому, щоб HTTP/3 став стандартом для Інтернету на рівні HTTP/1.1 або HTTP/2.
Тоді як HTTP/1.1 і HTTP/2 використовують протокол керування передачею (TCP) як протокол передавання даних, QUIC від самого початку було розроблено для роботи з протоколом користувацьких дейтаграм (UDP). Використання UDP пов'язане з деякими компромісами, але однією з основних переваг UDP є те, що це більш швидкий і ефективний спосіб обміну даними, ніж його аналог TCP.
Що нового в HTTP/3?
HTTP/3 - третя основна версія протоколу передачі гіпертексту, що використовується для обміну інформацією у Всесвітній павутині. HTTP/3 спрямований на підвищення продуктивності, надійності та безпеки передавання даних через Інтернет шляхом введення таких функцій, як:
- Більш швидке встановлення з'єднання: QUIC дає змогу виконувати узгодження версії TLS одночасно з криптографічними і транспортними підтвердженнями.
- Нульовий час проходження туди й назад (0-RTT). Для серверів, до яких вони вже під'єднані, клієнти можуть пропустити вимогу встановлення зв'язку і негайно надіслати дані.
- Більш комплексне шифрування: QUIC забезпечує шифрування за замовчуванням і захищає від різних атак на транспортному рівні.
- Мультиплексування та пріоритезація потоків: QUIC підтримує кілька потоків даних у межах одного з'єднання і дає змогу клієнтам і серверам призначати пріоритети різним потокам.
- Контроль і відновлення перевантажень: QUIC адаптується до мінливих умов мережі та відновлюється після втрати пакетів, не блокуючи всі потоки даних.
У чому різниця між http2 і http3
HTTP/2 і HTTP/3 створені для підвищення продуктивності мережі, але підходять до вирішення цього питання по-різному.
HTTP/3 має меншу затримку, ніж HTTP/2, завдяки нульовому двосторонньому підтвердженню (0-RTT) і більш швидкому встановленню з'єднання. Це означає, що HTTP/3 може відправляти й отримувати дані швидше, ніж HTTP/2, що призводить до швидкого завантаження сторінки.
HTTP/3 має вищу пропускну здатність, ніж HTTP/2, завдяки здатності мультиплексувати кілька запитів і відповідей по одному з'єднанню. Це означає, що HTTP/3 може відправляти й отримувати кілька запитів і відповідей одночасно, що призводить до підвищення загальної продуктивності.
HTTP/3 спроектований так, щоб бути більш ефективним з точки зору використання ресурсів, ніж HTTP/2. HTTP/3 використовує новий і більш ефективний алгоритм шифрування під назвою "ChaCha20-Poly1305", який ефективніший за алгоритми шифрування, що використовуються в HTTP/2. Крім того, функція мультиплексування HTTP/3 дає змогу краще використовувати ресурси, оскільки через одне з'єднання можна надсилати й отримувати кілька запитів і відповідей.
HTTP/3 підтримує push-повідомлення сервера, що дає змогу серверу заздалегідь надсилати ресурси клієнту, навіть якщо клієнт їх іще не запросив. Це може призвести до прискорення завантаження сторінки та підвищення продуктивності. HTTP/2 також підтримує надсилання даних із сервера, але реалізація HTTP/3 дає змогу клієнту встановлювати кількість допустимих відправлень, запобігаючи втраті пропускної здатності.
HTTP/3 дає змогу краще розставляти пріоритети запитів і відповідей, ніж HTTP/2. Функція мультиплексування HTTP/3 дає змогу краще розставляти пріоритети запитів і відповідей, оскільки найважливіші запити та відповіді можна надіслати й отримати в першу чергу.
За даними W3Techs, за останній рік використання HTTP/3 поступово зросло, його наразі використовують понад 27% сайтів.
TCP має обмеження, яких немає у QUIC, включно з повільним часом запуску, високими витратами, обмеженою масштабованістю і нездатністю обробляти велику кількість одночасних підключень. Навпаки, QUIC був розроблений з нуля для усунення цих обмежень.
Як перевірити підключення HTTP/3 для сайту?
Для перевірки ви можете скористатися двома варіантами. Наприклад, за допомогою спеціального інструменту на сайті або за допомогою розширення браузера Chrome HTTP/2 і SPDY indicator. Якщо значок блискавки синій, значить активний HTTP/2, а якщо зелений, то підключено HTTP/3.
Як прискорити сайт із HTTP/3?
На хостингу від ГіперХост з панеллю керування cPanel HTTP/3 доступний за замовчуванням, для віртуальних серверів VPS/VDS під'єднується за запитом у технічну підтримку. Для користувачів CDN від Cloudflare HTTP/3 також доступний для підключення.