Какво е HTTP / 2 и какво прави?



Опитайте Нашия Инструмент За Премахване На Проблемите

През последните 20 години глобалната мрежа се разви драстично. Всички усъвършенствани уеб технологии изискват по-добри и бързи решения и протоколи за комуникация и трансфер на файлове от сегашните (HTTP), които достигат своите технологични граници.





Какво е HTTP / 2?

HTTP / 2 е най-новата версия на Hypertext Транспортен протокол (HTTP) - основният протокол, използван от World Wide Web . Първоначално беше одобрен през февруари 2015 г. Това е почти 20 години след първоначалния HTTP. HTTP / 2 намалява времето за зареждане и носи значителни подобрения в комуникацията между сървъри и браузъри. Повечето браузъри вече са добавили HTTP / 2 и това не е променило много неща от гледна точка на потребителите. Това е основната причина, поради която много от нас още не са я чели или чували.



Какво прави HTTP / 2?

Като наследник на HTTP, HTTP / 2 се фокусира върху подобряването на всички характеристики на HTTP . За да се запази обратната съвместимост с по-стария протокол, той запазва по-голямата част от функционалността на HTTP. Той обаче въвежда някои драстични подобрения.

И двете HTTP или HTTP / 2 определят:

  • Кои действия трябва да предприемат уеб браузърите и сървърите в отговор на различни команди.
  • Как всеки бит информация се прехвърля от един на друг компютър чрез мрежата.
  • Как се създават, форматират и предават съобщения.

С други думи, HTTP и HTTP / 2 задават стандартите за това как уеб съдържанието се доставя на вашия компютър, с тази разлика, че HTTP / 2 прави всичко по-бързо от своя предшественик. Тук можете да видите какво прави HTTP / 2 в детайли.



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

Двупосочни серии от рамки на текстови формати, изпратени чрез протокола HTTP / 2 между един сървър и клиент, се наричат ​​„потоци“. HTTP може да предава само един от тези „потоци“ наведнъж. След изпращането на потока има забавяне във времето между предаването на следващия поток.

HTTP / 2 установява нов двоичен кадриращ слой, който директно решава проблема с предаването на „потоци“ един по един. Той позволява на клиентите и сървърите да дезинтегрират полезния товар на HTTP / 2 в малки, независими и лесно управляеми последователни рамкови последователности. Цялата тази информация се сглобява отново, след като бъде получена в другия край. Този протокол позволява обмен на множество, едновременно отворени и независими двупосочни последователности без забавяне между последователни потоци.

Ползи:

  • Паралелните мултиплексирани заявки и отговори не се блокират взаимно.
  • Една TCP връзка може да осигури ефективно използване на мрежовите ресурси дори при предаване на множество потоци данни.
  • По-бързо представяне в мрежата, намалена латентност и по-добри резултати от търсачките.
  • Намалени CapEx и OpEx при работещи мрежови и ИТ ресурси.

HTTP / 2 Server Push и Cache Push

Това е възможност, която позволява на сървърите да изпращат допълнителна кешируема информация до клиентите . Тази информация не се иска, но се очаква за бъдещи заявки. Ако клиентът поиска един ресурс A и е известно, че друг ресурс B е препратен към заявения, сървърът може да натисне B заедно с A, вместо да чака друга клиентска заявка. След това клиентът записва изтласкания ресурс B в кеша за бъдещо използване. Тази функция спестява цял процес на двупосочен двупосочен отговор и намалява латентността на мрежата. Google първоначално представи Server Push в протокол SPDY.

Друго подобрение в HTTP / 2 е Cache Push. Това проактивно актуализира или обезсилва кеша на клиента. Това дава възможност на сървърите да идентифицират възможни бутащи ресурси, които клиентите всъщност не искат.

Ползи:

  • Клиентите могат да отказват изпратени ресурси, за да поддържат ефективно хранилище на кеширани ресурси (или дори да деактивират изцяло Push Server).
  • Клиентите могат да ограничат едновременно мултиплексирания брой изтласкани потоци.
  • Сървърите могат да дадат приоритет на изтласканите ресурси. Това е ключ към разликата в производителността между HTTP / 2 и HTTP.
  • Сървърите могат да мултиплексират изтласкани ресурси заедно с исканата от клиента информация в рамките на една и съща TCP връзка.
  • Клиентите могат да използват кешираните ресурси на различни страници.
  • Клиентите запазват изтласкани ресурси в кеш паметта.

Двоични протоколи

HTTP / 2 има значително подобрени възможности при трансформиране на текстов протокол в двоичен протокол . Докато HTTP се използва за обработка на текстови команди за изпълнение на цикли на отговор-заявка, HTTP / 2 разчита на двоични команди. Това съкращава времето (до 1s и 0s) за изпълнение на същите задачи.

Браузърите с поддръжка на HTTP / 2 ще преобразуват текстовите команди в двоичен код, преди да го предадат по мрежата. Слоят на двоичното рамкиране обаче не е обратно съвместим с HTTP сървъри и клиенти.

Ползи:

  • Предотвратяване на проблеми със сигурността, свързани с текстовия характер на HTTP (напр. Атаки за разделяне на отговора).
  • Позволява HTTP / 2 възможности като компресиране, приоритизиране, мултиплексиране, ефективно боравене с TLS и контрол на потока.
  • Компактно представяне на команди, позволяващи по-лесно изпълнение и обработка.
  • Здрава и ефективна обработка на данни между клиенти и сървъри.
  • Подобрена производителност и намалена латентност на мрежата.
  • По-малко шансове за грешки в сравнение с HTTP.
  • Високо ефективно използване на мрежовите ресурси.
  • Ниски режийни разходи при синтактичен анализ.
  • По-лек отпечатък в мрежата.

Приоритизиране на потока

HTTP / 2 позволява на клиентите да предоставят предпочитания на определени потоци от данни. Сървърите не са задължени да следват инструкциите на тези клиенти, но този механизъм позволява на сървърите да оптимизират разпределението на мрежовите ресурси въз основа на потребителските изисквания .

Приоритизирането на потока работи с тегло и зависимости, присвоени на всеки поток. Въпреки факта, че всички потоци по своята същност са зависими един от друг, освен че теглото им е определено между 1 и 256. Механизмите за приоритизиране на потоците все още са тема на дискусии. Когато обаче приоритизирането на потока се комбинира с възможността HTTP / 2 за обработка на множество потоци данни в една TCP връзка, може да доведе до едновременно пристигане на заявки за сървър с различен приоритет.

Ползи:

  • Намалени негативни ефекти от загрижеността за латентността на мрежата.
  • Подобрено потребителско изживяване и скорост на зареждане на страницата.
  • Оптимизация в комуникацията на данни между сървъри и клиенти.
  • Високо ефективно използване на мрежовите ресурси.
  • Намалено време за доставка на заявки за първично съдържание.

Компресиране на заглавката с държавни данни

Когато потребителите разглеждат сайтове с богато на мултимедийно съдържание, използвайки HTTP, клиентите избутват множество почти идентични рамки на заглавките. Това е така, защото всяка заявка на клиент трябва да включва толкова информация, колкото сървърът изисква за извършване на заявената операция. Този процес води до латентност и ненужно потребление на ресурси.

HTTP / 2 включва възможността за компресиране на голям брой излишни рамки на заглавки. Той разчита на спецификацията HPACK като сигурен и лесен подход за компресиране на заглавието . Клиентите и сървърите поддържат списък със заглавки, използвани в предишни заявки клиент-сървър. Това директно адресира проблемите с излишните рамки на заглавките.

Ползи:

  • Кодира често използвани заглавки и големи заглавки. Това премахва необходимостта от изпращане на цели заглавни рамки. Индивидуалният размер на всеки поток се свива значително.
  • Предотвратяване на атаки за сигурност като CRIME изследване на потоци от данни със компресирани заглавки.
  • Ефективно използване на механизмите за мултиплексиране.
  • Ефективно приоритизиране на потока.
  • Намалени режийни разходи.

Реални предимства на HTTP / 2

HTTP / 2 е фокусиран върху максимизирането на потенциала на технологията , за да отговорим на бъдещите нужди и очаквания. Ето реалните ползи от използването на HTTP / 2.

Уеб изпълнение и мобилна уеб производителност - HTTP / 2 има възможности за изпращане и получаване на повече данни в един комуникационен цикъл клиент-сървър. Той работи добре за намаляване на латентността при достъп до интернет услуги в мобилни мрежи за данни и мрежи с ограничена честотна лента на потребител.

По-евтин високоскоростен интернет - HTTP / 2 повишава ефективността на комуникацията на данни. Това позволява на интернет доставчиците да намалят общите разходи, като същевременно поддържат стандартите за високоскоростен интернет.

Сигурност - HTTP / 2 не е уязвим към заплахите, насочени към текстово базирани протоколи на приложния слой. Освен това той използва подхода „Защита от неизвестност“, за да защити предаването на чувствителни данни между клиенти и сървъри.

Обширен обхват - Предимствата на HTTP / 2 намаляват интернет резултатите за доставчиците. Това ще доведе до по-широко интернет покритие на световно ниво.

Мултимедийно изживяване в мрежата - Технологичните характеристики и предимства, които HTTP / 2 внася в глобалната мрежа, осигуряват инфраструктура, способна да доставя богато на мултимедия съдържание при по-бързи скорости на зареждане на страниците.

Увийте

HTTP / 2 е сравнително нов протокол, но поддръжката за него непрекъснато нараства. В днешно време повечето интернет браузъри поддържат HTTP / 2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome за Android). Много уеб сървъри включват поддръжка на HTTP / 2 (Apache HTTP Server, Tomcat, NGINX). Без съмнение HTTP / 2 е WWW протоколът на бъдещето.

5 минути четене