УДК 004.057.4
ИНТЕРНЕТ-ТЕХНОЛОГИИ БУДУЩЕГО ОТ HTTP К HTTP2
Е.А. Расторгуева Научный руководитель - А. П. Багаева
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева
Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
Е-mail: Elizaveta2200@rambler.ru
Рассмотрены интернет-протоколы HTTP и HTTP2. Приведены сравнительные характеристики, показаны преимущества нового протокола и основные концепции его создания.
Ключевые слова: HTTP, HTTP2, SPDY, Интернет, будущее, технологии будущего, шардинг, Google.
INTERNET-TECHNOLOGIES OF THE FUTURE-HTTP TO HTTP2
E. A. Rastorgueva Scientific supervisor - A. P. Bagaeva
Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation Е-mail: Elizaveta2200@rambler.ru
In this work reviewed the Internet protocols HTTP and HTTP2. Are the comparisons characteristics, showing the advantages of the new Protocol and the basic concepts create of it.
Keywords: HTTP, HTTP2, SPDY, internet, future, future technologies, sharding, Google.
Любой веб-адрес начинается с комбинации «http://», учитывая, что записывать это в браузер необязательно. Аббревиатура «HTTP» на английском «Hyper Text Transfer Protocol» («протокол передачи гипертекста»), является технологией пересылки данных веб-страниц от удаленного сервера к клиентскому компьютеру. Протокол HTTP создан в марте 1991 года, Тимом Бернерсом - Ли. На самом деле, Бернерс объяснял двойной слеш не иначе как случайной ошибкой, которая ничего не значит [1].
Технология «клиент-сервер» является основой для HTTP. Суть технологии состоит в том, что клиент, он же потребитель, изначально создает соединение и посылает некий запрос, ответ на который дает ему сервер, другими словами поставщик, который ожидает какого-либо соединения, и производя необходимые действия сервер отправляет ответ на запрос в виде сообщения с результатом.
HTTP в настоящее время используется в Глобальной Сети для передачи и получения информации с веб-сайтов.
Основным объектом манипуляции в HTTP является ресурс, на который указывает URI в запросе клиента. URL расшифровывается как Uniform Resource Locator, что можно перевести, как «единый указатель на ресурс». Практически, это адрес документа. Такими ресурсами могут являться хранящиеся на сервере файлы.
Главной особенностью протокола HTTP является то, что существует возможность указать в запросе или ответе способ кодирования сообщения по различным параметрам. Именно поэтому, хоть данный протокол и является текстовым, у клиента и сервера есть право обмениваться двоичными данными [2].
В протоколе HTTP наблюдается множество погрешностей, которые замедляют время загрузки страницы в браузере, и поэтому специалисты начали работу по созданию нового протокола HTTP2, который будет отвечать современным требованиям. Большинство современных браузеров уже поддерживают последние версии HTTP2, так что после принятия стандарта через весьма короткое время можно несомненно ожидать, что все браузеры смогут его поддерживать. Уже испытывают свои
Актуальные проблемы авиации и космонавтики - 2015. Том 1
веб-сервисы для работы с HTTP2 многие крупные интернет-компании, такие как Google, Facebook и Twitter.
Первоначально HTTP разрешал использовать клиенту максимум два TCP соединения на каждый хост. И чтобы не нарушать это правило, получить большее число соединений и сократить время загрузки страницы, некоторые сайты решили придумывать новые имена хостов. Со временем, клиенты стали использовать 6-8 соединений на хост, так как это ограничение было убрано из спецификации, но по прежнему имеется некое ограничение, поэтому сайты продолжают вести работы увеличению числа соединений. На сегодня для сайтов уже не является чем-то сверхъестественным использование более 50 или 100 соединений [4].
Причина шардинга - это размещение изображений и подобных ресурсов на отдельных хостах, которые не используют cookie. Так как cookie на сегодняшний день могут быть значительного размера, и чтобы увеличить производительность за счёт значительно меньших HTTP-запросов, можно использовать хосты изображений без cookie.
Организация, которая разрабатывает и продвигает интернет стандарты, получила название Инженерный совет Интернета (IETF). Как и в любой организации IETF состоит из «рабочих групп», у которых существует свой круг задач.
Летом 2007 года была создана рабочая группа HTTPbis, суффикс «bis» означает «два», от латинского наречия. Бис часто используют как часть имени внутри IETF для обновления или второй попыткой работы над спецификацией. Именно эта группа занималась разработкой HTTP2 [3].
HTTP2 начался со SPDY.
SPDY - это протокол, который был разработан и инициирован в Google четыре года назад, когда только началась разработка нового варианта HTTP. Они определённо разрабатывали его открыто и приглашали всех участвовать.
Новый вариант получил название SPDY. Основной задачей создания нового протокола было именно ускорение загрузки страниц. При использовании HTTP для загрузки одной страницы компьютер отправляет на веб-сервер десятки различных запросов. SPDY позволяет ускорить этот процесс при помощи технологии мультиплексирования. Это технология заключается в том, что несколько сигналов сводятся в один, а также существует система расставления приоритетов на наиболее важные запросы. По последним данным Google, технология SPDY позволяет ускорить загрузку типичной страницы GoogleNews примерно на 45 % [1].
Когда группа HTTPbis решила начать работать над HTTP2, SPDY уже был проверен как рабочая концепция. После публикации цифр, которые показывали насколько SPDY справляется со своей задачей, были сделаны выводы, что он уже доказал свою возможность реализации в Интернете. И с черновика SPDY/3 началась работа над HTTP2.
Концепция HTTP2.
• HTTP2 должен поддерживать основные задачи HTTP, так как это все так же технология «клиент-сервер».
• Ссылки http:// и https:// не могут быть изменены, потому что слишком большое количество информационного наполнения сайтов использует подобный метод.
• Так как не все браузеры в ближайшем будущем смогут перейти на HTTP2, должен существовать способ конвертировать данные из HTTP в HTTP2 для клиентов.
• HTTP2 должен уменьшить количество операций в протоколе, дабы исключить возможность клиенту попасть на уловку недобросовестных сайтов, это является в большей мере требованием.
• У HTTP2 не будет минорных версий, если понадобится новое расширение или изменение протокола начнется работа над HTTP3 и т. д., «клиент-сервер» должен быть совместим, либо работа не сможет выполняться [5].
HTTP2-соединение теперь может содержать множество одновременных открытых потоков. Потоки могут быть совместно использованы как клиентом, так и сервером в одностороннем порядке или быть закрыты с любой из сторон. Порядок запросов, в котором они отправляются, клиент выбирает сам, так как он играет наибольшую роль в скорости обработки. Сервер обрабатывает запросы в порядке их получения.
Мультиплексирование потоков смешивает их в пределах одного соединения. В HTTP2 допустимы десятки и сотни одновременных потоков, реализация которых весьма доступна, как по трудовым затратам, так и по финансовым, что естественно является огромным плюсом.
Каждый поток имеет приоритет, который клиент указывает самостоятельно. Такая зависимость одного потока от другого показывает всем участникам обмена, какие потоки необходимо выполнить первыми, так как они считаются наиболее важные.
Приоритеты могут меняться при обмене, что позволит браузеру повысить приоритет потокам, которые неожиданно попали в фокус, когда пользователь проматывает страницу, заполненную картинками [3].
Исходя из всего вышесказанного, можно выделить несколько преимуществ HTTP2. Несомненно, первое это то, что теперь клиент сам может настраивать приоритеты потоков. Ранее выполнять это не было возможности и появлялись некоторые проблемы в обработке запросов сервером, а если есть проблемы, то их нужно устранять, это в свою очередь влекло за собой разного рода затраты. Так же важным является то, что появилась возможность иметь множество одновременных потоков. В HTTP из-за этого существовали задержки очередей, приходилось искать пути преодоления этих проблем, теперь же этого делать не нужно.
Библиографические ссылки
1. Что могут предложить нам технологии будущего [Электронный ресурс] URL: http://yvek.ru/интернет/интернет-технологии-будущего (дата обращения: 05.04.2015).
2. HTTP // Сайт Википедия [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/HTTP (дата обращения: 05.04.2015).
3. Разъяснения HTTP2 [Электронный ресурс]. URL: http://habrahabr.ru/post/221427 (дата обращения: 05.04.2015).
4. Кришнамурти Б., Рексфорд Дж. Web-протоколы. Теория и практика. М. : БИНОМ, 2002.
5. Береговой В., Перепелкин Е. Основы интернет-технологий. Справочное руководство. Барнаул : Изд-во АлтГУ, 2002.
© Расторгуева Е. А., 2015