HTTP 1.0 vs HTTP 1.1 vs HTTP 2.0

HTTP (HyperText Transfer Protocol — протокол передачи гипертекста) постоянно развивается и на данный момент дошел до второй версии. Каждая новая версия привносила как функционал, так и увеличивала скорость работы. В данной заметке мы рассмотрим только основную схему работы.

Версию HTTP 0.9 (1991) рассматривать не будем, так как это было «давно и неправда». Можно было запрашивать данные через GET и всё.

1.0

HTTP 1.0 (1996) открывал новое соединение для каждого запроса. То есть, если дизайн сайта содержал 100 картинок, то приходилось открывать и использовать 100 соединений для их загрузки и отображения пользователю. Такая схема, естественно, работала медленно. Часть сообщества того времени пыталась оптимизировать работу протокола различными «костылями», например, оставляя соединения открытыми на некоторое время (Connection: keep-alive), чтобы «рукопожатие» серверов не приходилось производить заново. Все это не помогало, да и не могло помочь, ведь схема взаимодействия клиента с сервером была изначально неудачная.

1.1

Проблему с производительностью HTTP 1.0 нужно было решать. Для этого разработчики протокола создали новую версию — HTTP 1.1 (1999), где запросы стали передавать последовательно через одно и тоже соединение. Это значительно улучшило ситуацию. Причем, скорость и новый функционал всех устроил настолько, что его не трогали еще полтора десятка лет.

2.0

Как было сказано ранее, прошло много времени с релиза предыдущей версии протокола. За это время Интернет очень сильно развился и разросся. Контента стало на несколько порядков больше чем во времена создания HTTP 1.1 и пора было обновляться. Требовалось увеличить скорость работы протокола. Так появился HTTP 2.0 (2015). В нем вместо текстовых данных стали использовать бинарные, так как они обрабатываются компьютером быстрее. Но это не главное, главной особенностью стала возможность передавать данные пакетами, то есть за раз теперь передаётся несколько запросов и возвращается несколько ответов.

Помимо вскользь разобранной схемы работы основных версий протокола HTTP, было множество мелких дополнений и механик, таких как шифрование, новые методы доступа к северу, заголовки и т.д. Об этом желательно почитать в «Полезных ссылках» ниже.

Полезные ссылки

19.09.2022

Категория(-и): Заметки

#

Добавить комментарий