🤔 Почему http-2, а не http-1 ?
HTTP/2 предпочтительнее HTTP/1.1 потому, что он позволяет мультиплексирование запросов по одному соединению, сжимает заголовки для эффективности передачи данных и улучшает общую производительность веб-сайтов за счет бинарного формата и приоритезации потоков.
🚩Минусы
➖Ограниченное количество одновременных соединений:
HTTP/1.1 позволяет использовать несколько одновременных соединений для загрузки ресурсов с одного домена, но это число ограничено (обычно 6-8 соединений). Это приводит к значительным задержкам, особенно при загрузке большого количества ресурсов (изображений, скриптов, стилей) на современных веб-страницах.
➖Небольшие размеры заголовков:
В HTTP/1.x заголовки передаются в каждом запросе и ответе, что увеличивает накладные расходы, особенно при использовании длинных куки-файлов и других данных заголовков.
➖Отсутствие мультиплексирования:
HTTP/1.x не поддерживает отправку нескольких запросов и ответов одновременно по одному соединению, что приводит к блокировке при медленных запросах или больших ресурсах.
➖Частые разрывы соединений:
В HTTP/1.x соединения часто закрываются после завершения передачи данных, что требует повторного установления соединений для последующих запросов, увеличивая задержки.
🚩Плюсы
➕Бинарный протокол:
HTTP/2 использует бинарное кодирование вместо текстового в HTTP/1.x, что упрощает анализ и обработку данных, а также снижает вероятность ошибок.
➕Мультиплексирование:
HTTP/2 позволяет отправлять несколько запросов и получать несколько ответов одновременно по одному TCP-соединению, устраняя блокировку и повышая эффективность передачи данных.
➕Сжатие заголовков (HPACK):
HTTP/2 использует эффективное сжатие заголовков, что значительно уменьшает накладные расходы при передаче заголовков.
➕Приоритеты потоков:
HTTP/2 поддерживает установку приоритетов для отдельных потоков данных, что позволяет более эффективно управлять передачей важных ресурсов.
➕Постоянные соединения:
HTTP/2 поддерживает длительные соединения, что уменьшает количество повторных установлений соединений и улучшает производительность.
➕Серверная инициатива (Server Push):
HTTP/2 позволяет серверу отправлять ресурсы клиенту до того, как они будут запрошены, что ускоряет загрузку страниц.
🚩Примеры преимуществ HTTP/2
🟠Мультиплексирование:
В HTTP/1.1 каждый запрос требует отдельного соединения или использования техники keep-alive для удержания соединения открытым, что приводит к блокировке. В HTTP/2, благодаря мультиплексированию, все ресурсы могут быть загружены одновременно по одному соединению.
🟠Сжатие заголовков:
Заголовки в HTTP/2 сжимаются, что особенно полезно для повторяющихся заголовков, таких как куки.
🟠Server Push:
Сервер может отправлять необходимые ресурсы, такие как стили и скрипты, до того, как клиент их запросит, что снижает количество запросов и улучшает время загрузки страницы.
Ставь 👍 и забирай 📚 Базу знаний
Post #687
6.49K
- 👍 18
- ❤ 3