TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Введение в HTTP / 2 для WordPress

676

HTTP / 2 – одна из важнейших вех в современной сети. В этой статье освещается текущее состояние HTTP и представлены основные преимущества (и некоторые нетехнические концепции) HTTP / 2. Мы также узнаем, как реализовать HTTP / 2 для WordPress в 2018 году.

Краткая история HTTP

HTTP означает протокол передачи гипертекста, который был создан Тимом Бернерсом Ли в 1991 году. Тим – человек, которого мы должны благодарить за всемирную паутину. HTTP – один из наиболее распространенных и широко используемых протоколов приложений в Интернете. Но это не единственное.

Подожди секунду. Я выделил фразу «протоколы приложений». Это почему? Видите ли, Интернет на самом деле представляет собой композицию из четырех иерархических уровней протоколов. Каждый уровень состоит из ряда протоколов и отвечает за базовую функцию.

Интересно, что в пакете Интернет-протокола (IP) есть четыре уровня:

  1. Уровень приложения
  2. Транспортный уровень
  3. Internet Layer
  4. Link Layer

Введение в HTTP / 2 для WordPress

Уровни Интернет-протокола. Источник: Википедия

Не вдаваясь в подробности, последние три уровня (т. Е. Транспортный, Интернет и канальный) отвечают за установление надежного соединения для обмена данными.

Самый верхний уровень называется уровнем приложений, который обслуживает все приложения в Интернете.

  • Просмотр веб-страниц – это приложение в Интернете, которое стало возможным благодаря протоколу HTTP.
  • Электронная почта – это еще одно приложение в Интернете, которое стало возможным благодаря протоколу POP или IMAP.

На прикладном уровне в Интернете существует несколько протоколов, которые делают возможными такие вещи, как YouTube Live Videos и Clash of Clans .

Рождение HTTP / 2

HTTP – это общий язык между клиентами и серверами, обеспечивающий современный Интернет. Изначально он представлял собой единое ключевое слово и путь к документу, и теперь он стал предпочтительным протоколом не только для браузеров, но и практически для всех программных и аппаратных приложений, подключенных к Интернету.

Возникает вопрос – как часто мы обновляем эту важную часть программного обеспечения? Ну, как оказалось – не очень часто

Фактически, последний раз протокол HTTP обновлялся в 1997 году – за десять лет до выпуска первого iPhone! Это была версия HTTP 1.1, и 20 лет спустя она до сих пор остается наиболее широко используемой версией HTTP!

Все, что происходит в Интернете – от потокового видео с кошками до видеочатов в реальном времени с Международной космической станции и триллионов онлайн-транзакций – происходит с помощью технологий, которые не обновлялись более двух десятилетий. За прошедшие годы мы добились огромного прогресса в создании новых приложений для Интернета. Однако мы сделали все это, создав обходные пути из ограничений HTTP / 1.1.

Я не хочу сказать, что HTTP / 1.1 – это плохо. Но он точно может использовать обновление. Вот почему в 2015 году Инженерная группа Интернета удвоила усилия для создания лучшего протокола для HTTP.

Результатом стал новый протокол, который без проблем работал со всем, что было запущено на HTTP / 1.1, при этом внося серьезные улучшения в базовую технологию. Этот новый протокол получил название HTTP / 2.

Что изменилось в HTTP / 2?

На самом деле много всего. Но мы не собираемся здесь рассматривать их все. Совершенно уверен, что к тому времени вам будет скучно, и я еще больше уверен, что я не смогу объяснить вещи в непривычной манере. Но когда дело доходит до HTTP / 2 для WordPress, вот несколько ключевых моментов.

Мультиплексирование

В HTTP / 1.1 серверу и клиенту необходимо было установить отдельные соединения для запроса ресурсов. Позвольте мне объяснить с помощью этой красивой иллюстрации от UpWork:

Введение в HTTP / 2 для WordPress

Иллюстрация мультиплексирования с помощью UpWork

Веб-сайт состоит из HTML, CSS, JavaScript, изображений и других файлов. Эти файлы вместе называются ресурсами. В этом примере веб-сайт состоит из трех ресурсов – файла JavaScript, файла CSS и файла изображения.

Мы видим, что в HTTP / 1.1 браузеру требуется три TCP-соединения с сервером для запроса этих ресурсов. Почему? Потому что в HTTP / 1.1 каждое соединение может запрашивать только один запрос. Большее количество подключений обычно приводит к тому, что лучше всего можно охарактеризовать как «пробки» на ресурсах, что в конечном итоге приводит к замедлению работы сайта.

HTTP / 2 поддерживает мультиплексирование

Мультиплексирование – это технология, которая позволяет серверам отправлять несколько файлов по одному соединению. В результате, когда один и тот же веб-сайт использует HTTP / 2, все три ресурса могут быть отправлены через одно соединение. Следовательно, время загрузки и потребление сетевых ресурсов значительно сократятся. Проще говоря, вы сможете делать больше с меньшими затратами. Итак, HTTP / 2 для WordPress – отличный способ (потенциально) ускорить работу вашего сайта WordPress.

Разделение домена и другие улучшения

Помните, как новым приложениям требуются обходные пути для преодоления определенных ограничений HTTP / 1.1? Шардинг домена – одно из таких решений. Давайте разберемся, почему требуется сегментирование домена.

Обычно HTTP / 1.1 ограничивает максимальное количество открытых соединений между сервером (доменом) и клиентом. У большинства веб-сайтов есть несколько ресурсов, которые нужно загружать параллельно. Стремясь ускорить загрузку сайтов, сайты начали обслуживать свои ресурсы из нескольких поддоменов. Это называется сегментированием домена.

Введение в HTTP / 2 для WordPress

Иллюстрация шардинга домена от UpWork

Теперь с HTTP / 2 нет необходимости в совместном использовании домена. Не потому, что HTTP / 2 не ограничивает максимальное количество открытых соединений. Но потому что HTTP / 2 поддерживает мультиплексирование. Все ресурсы можно отправлять напрямую в одно соединение!

Благодаря мультиплексированию в HTTP / 2 многие из этих «обходных путей» больше не требуются. К ним относятся спрайты CSS, встроенные изображения в CSS с использованием URI данных и объединение CSS и JavaScript. Для того, чтобы поместить его в Smashing Magazine «S слова:

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

Поддержка двоичных протоколов

Мы знаем, что компьютеры разговаривают нулями и единицами, верно? Ну, в HTTP / 1.x раньше так не говорили. HTTP1.x используется для обработки текстовых команд для завершения циклов запрос-ответ.

HTTP / 2 поддерживает преобразование текстового протокола в двоичный протокол. Это позволяет серверу и клиенту обмениваться данными с помощью нулей и единиц вместо фактического текста, что значительно сокращает время и энергию, необходимые для выполнения одних и тех же циклов запроса-ответа.

HTTP / 2 Server Push

Эту функцию может быть немного сложно объяснить, но я постараюсь сделать ее простой. В классическом сценарии HTTP / 1.1 сервер (или веб-сайт) будет отправлять ресурсы клиенту (браузеру) только тогда, когда клиент запрашивает ресурс. Это типичный сценарий запроса-ответа.

Однако HTTP / 2 вводит концепцию проталкивания сервера, при которой впервые сервер может отправлять ресурсы (или информацию) клиенту, не требуя от клиента явного запроса ресурса. Этот механизм экономит круговой обход запроса-ответа и сокращает сетевую задержку.

Веб-разработчики могут создавать приложения, которые используют Server Push и отправляют клиенту дополнительные ресурсы / информацию, ожидая запросов. Конечный результат? Более быстрые и плавные приложения.

Сжатие заголовка

HTTP / 2 использует так называемое сжатие заголовка HPACK при обмене данными между клиентом и сервером. Прежде чем мы рассмотрим, почему это важно, пора немного узнать о протоколах.

Единица данных в любом протоколе (включая HTTP) состоит из трех основных компонентов – заголовка, полезной нагрузки и нижнего колонтитула.

  1. Заголовок: Заголовок содержит информацию о блоке данных.
  2. Полезная нагрузка: это фактические данные, которые передаются с сервера клиенту.
  3. Нижний колонтитул: это своего рода контрольный список, который гарантирует, что блок данных был доставлен успешно без каких-либо ошибок.

Сжатие заголовков работает довольно просто – сервер сжимает информацию заголовка перед ее передачей клиенту. После получения блока данных (или пакета) клиент распаковывает заголовок и отображает (или использует) его для (или для) пользователя.

Сегодня, когда мультимедийные веб-сайты (такие как Netflix или New York Times) становятся нормой, сжатие заголовков HTTP / 2 HPACK может значительно сэкономить полосу пропускания при передаче данных с сервера на клиент.

Улучшенный TLS

TLS расшифровывается как Transport Layer Security, который представляет собой технологию, которая шифрует соединения между сервером и клиентами. Мы знаем, что есть HTTPS. Это технология, которая помогает предотвратить кражу хакерами информации о нашей кредитной карте и других личных данных во время онлайн-транзакций.

HTTP / 2 безупречно работает с существующей технологией TLS и предлагает массу дополнительных функций, таких как меньшее количество подтверждений TLS, низкое потребление ресурсов как на стороне клиента, так и на стороне сервера, а также улучшенные возможности повторного использования существующих веб-сеансов при устранении определенных уязвимостей, связанных с HTTP / 1. .Икс.

Готов ли мир к HTTP / 2?

Это зависит от обстоятельств. Большинство современных браузеров, включая Chrome и Firefox, поддерживают протокол HTTP / 2. Если у вас есть ресурсы для реализации протокола HTTP / 2 – сделайте это.

Как начать работу с HTTP / 2 для WordPress?

Введение в HTTP / 2 для WordPress

Реализация HTTP / 2 на вашем хосте WordPress требует большого количества технических знаний. Если вы разработчик сетей и управление серверами – ваше дело – дерзайте.

Хорошей новостью является то, что внедрение HTTP / 2 для WordPress стало проще благодаря хорошим провайдерам хостинга WordPress. Например, WPEngine и Kinsta поддерживают HTTP / 2 и имеют все необходимые резервные варианты, чтобы гарантировать, что посетители сайта, не поддерживающие новый протокол, получат надежную, полностью оптимизированную версию HTTP / 1.1.

С точки зрения интернет-пользователя вам не нужно будет ничего делать, кроме как загрузить последнюю версию своего браузера. Если веб-сайт совместим с HTTP / 2, ваш браузер будет автоматически связываться с ним по новому протоколу. Однако HTTP / 2 полностью обратно совместим, поэтому веб-сайты, все еще использующие старый HTTP, не пострадают. Это означает, что вы можете просто расслабиться и наслаждаться более быстрой загрузкой веб-сайтов.

Завершение HTTP / 2 для WordPress

HTTP / 2 для WordPress – это столь необходимое революционное обновление одной из передовых технологий в мире. Однако, чтобы HTTP / 2 стал популярным, как веб-сайты HTTPS, потребуется много времени. При этом цель этой статьи – познакомить наших читателей с этой замечательной технологией, которая потенциально может изменить облик Всемирной паутины.

Мысли о HTTP / 2 для WordPress? Вопросов? Дайте нам знать в комментариях ниже!

Источник записи: https://www.wpexplorer.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее