Ускоряване на Интернет с помощта на HTTP протокол

помощта

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

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

Три години по-късно, с огромно количество работа, IETF одобри стандарта HTTP/2. Водещите браузъри го поддържат. Всеки, който използва най-новия Firefox, Chrome или използва Internet Explorer в комплект с Windows 10, вероятно вече използва HTTP/2.

Какво е?

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

Мултиплексирането за HTTP включва искане и получаване на повече от един елемент наведнъж. Това ще "излекува" функцията за блокиране на HTTP/1.1 линия.

Всяка заявка от клиента трябва да изчака сървърът да отговори на предишни заявки. Това може да отнеме много време, ако например тази уеб страница съдържа около 100 обекта. И всяка от тези заявки може да бъде изпратена по различни причини, което допълнително ще намали скоростта на зареждане на страницата. Така че, с HTTP/1.1, браузърите използваха множество връзки към сървъра, за да постигнат някакво подобие на паралелизация на заявките, но това не реши проблема със скоростта на изтегляне и блокирането на линиите.

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