Как создать сайт или блог в 2020 году - бесплатное и простое руководство по созданию сайта

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

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

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

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

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

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

  1. Прикладной уровень
  2. Транспортный слой
  3. Интернет слой
  4. Слой связи

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

Верхний слой называется Прикладной уровень, который обслуживает все приложения в интернете.

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

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

Рождение HTTP / 2

HTTP / 2 для начинаний WordPress

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:

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

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

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

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

HTTP / 2 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 .X.

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

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

Проверка совместимости HTTP / 2 между основными веб-браузерами.

CanIUse.com предоставляет обновленную проверку совместимости для 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? Вопросы? Дайте нам знать в разделе комментариев!