HTTP/2: особенности передачиданных
Сначала передаются важные данные
Еще более важным условием является расстановка приоритетов, связанных с каждым потоком. В HTTP 1.1 браузер не имеет информации о том, какие файлы важны для быстрого отображения веб-сайта, у протокола не предусмотрено никаких средств для решения данной задачи. Только после анализа HTML-файла веб-просмогрщик определяет таблицы стилей и скрипты, которые ему еще необходимы. В HTTP/2 производится определение приоритета всех потоков, таким образом, браузер сначала обрабатывает потоки с максимальным приоритетом. Серии уловок для ускорения загрузки сайтов, таких как объединение нескольких скриптов в один файл, с переходом на HTTP/2 утрачивают актуальность.
В потоках все данные упаковываются в сообщения, которые в свою очередь разделены на несколько фреймов. Каждое сообщение начинается с фрейма заголовка, в большинстве случаев за ним следуют несколько фреймов данных. Все фреймы сообщения отправляются по отдельности. Сообщения используются для передачи файлов, запросов или информации. Сообщение может содержать один фрейм, определяющий уровень приоритета потока.
Пропуск ненужной информации
Заголовки в HTTP 1.1 занимают относительно большой объем: от 500 до 800 байт за каждую передачу. Если в них добавляются cookies, размер заголовка быстро увеличивается до нескольких килобайт. Это непропорционально большой объем заголовка, особенно для таких объектов, как иконки или баннеры, размер которых составляет всего несколько килобайт.
Кроме того, HTTP-заголовки редко содержат новую информацию: данные об адресе, дате или соединении являются избыточными, так как браузер и сервер уже получили их при первом установлении контакта. Заголовки до сих пор отправляются в несжатом текстовом формате, что требует дополнительного объема данных.
Заголовки HTTP/2 теперь архивируются и передаются в двоичном коде. В двоичном коде четко указано, в каких байтах находятся отдельные данные заголовка. Благодаря этому ПО легко анализирует такие данные. Кроме того, HTTP/2 исключает любую избыточность: браузер и сервер ведут таблицу с уже полученной информацией о заголовках. В новом фрейме заголовка они отправляют только ту информацию, которая до сих пор отсутствует.
Отправляются ли запрошенные данные по HTTP/2- или SPDY-соединению, можно быстро проверить в вашем браузере. При вызове веб-страницы достаточно обратиться к инструментам разработчика, которые доступны в виде дополнительных плагинов, и проанализировать результаты передачи данных.
C удовольствием бы опробовали преимущества HTTP/2, но ваш рабочий компьютер сломан? Что ж, в таком случае ремонт компьютеров на дому (http://remontcomputerov.org/services/remont-kompyuterov-na-domu), выполняемый высококвалифицированным специалистом, - это единственное верное решение. Такого мастера, который подарить вашему компьютеру новую жизнь, вы найдете на сайте remontcomputerov.org.