HTTP/2: мультиплексування, стиснення заголовків і server push
Коротко: HTTP/2 передає багато запитів одночасно одним з’єднанням і стискає заголовки, завдяки чому вебсторінки швидші, ніж з HTTP/1.1.
Докладніше: HTTP/1.1 обробляє запити по одному на з’єднання; браузери тому відкривають кілька з’єднань і борються з head-of-line blocking (одна повільна відповідь затримує все за нею). HTTP/2 (2015) розв’язує багато з цих проблем, не змінюючи сенсу методів, кодів стану й заголовків.
Подробиці
Ключові новинки
- Бінарний протокол замість текстового: компактніший і швидший в обробці.
- Мультиплексування: багато потоків (streams) ідуть паралельно одним з’єднанням TCP; кадри різних запитів перемежовуються.
- Стиснення заголовків (HPACK): заголовки, що повторюються (cookie, user agent), надсилаються повністю лише раз, потім короткими посиланнями.
Див. також: QUIC і HTTP/3, HTTP keep-alive, заголовки HTTP, TLS