Инженерный совет интернета (IETF) завершил работу над новой версией протокола HTTP, который обещает всем без исключения пользователям более быстрый и безопасный интернет и скоро будет опубликован в качестве стандарта.
Задержавшаяся неэффективность
Благую весть о том, что Инженерный совет интернета (IETF) разработал новую версию протокола HTTP, сообщил в своем блоге Марк Ноттингем, председатель рабочей группы по HTTP.
Так что же, собственно, случилось?
Сдвинулась с мертвой точки проблема, которая тормозила развитие интернета последние пять лет и не позволяла обеспечить стремительно растущие потребности глобальной сети, несмотря на все усилия по увеличению пропускной способности каналов связи. Речь идет о стандартах и протоколах, то есть о тех вещах, которые незаметно обеспечивают работу каналов связи, серверов, браузеров и прочего пользовательского и серверного программного обеспечения по неким единым правилам. Буквы в самом начале браузерной строки — http:// или https://, ftp:// и другие — показывают, каким образом браузер установит связь с сервером, обменяется с ним «приветственными» данными и будет затем передавать и получать информацию.
Этим правилам подчиняется все написанное до сих пор программное обеспечение и все сетевое оборудование, поэтому изменить их в одночасье невозможно. При этом протокол HTTP/1 был написан в начале 1990-х годов прошлого столетия и, несмотря на тюнинг и выпуск в 1999 году обновленной версии HTTP/1.1, совершенно не учитывает современных реалий — изменившейся структуры глобальных потоков данных и требований к безопасности.
Каналы связи, которые физически могли бы пропускать больше информации, используются неэффективно, что косвенно стало причиной, например, конфликта между крупнейшим американским потоковым видеосервисом Netflix и ведущими интернет-провайдерами США и привело к обсуждению проблемы сетевой нейтральности на государственном уровне. Также это задерживает развитие мобильных сетей и сервисов, где с пропускной способностью каналов дела обстоят еще хуже.
SPDY и предложения Google
Крупнейшие интернет-корпорации задумались над этой проблемой еще в 2009 году. Компания Google разработала для себя новый протокол передачи гипертекста вместо HTTP под названием SPDY, название которого читается speedy, то есть «быстрый», и предложила внести изменения в транспортный протокол TCP в части снижения циклов доставки пакетов и времени ожидания отклика. Если транспортный протокол определяет, как будет доставляться пакет или некий фрагмент данных, то HTTP регулирует то, как будет формироваться этот пакет.
SPDY обладает двумя основными отличиями от HTTP/1: в нем реализовано сжатие заголовков, то есть особая упаковка данных, говорящих о том, откуда этот пакет, кому предназначен, что содержит и как должен обрабатываться, которая позволяет экономить место, а также мультиплексирование, или одновременная упаковка разных типов данных и нескольких запросов в один пакет. Это как если бы в почтовый конверт положили не один листок с текстом, а несколько писем для разных людей, фотографию и видеопленку, при этом надписывать адрес, наклеивать марку и идти на почту пришлось бы только один раз.
Если для изменений в транспортном протоколе требовалась поддержка многих участников развития интернета, то SPDY сразу был внедрен в браузеры Chrome и Mozilla, а затем — в Firefox 11 и Internet Explorer. Протокол используют Google, Facebook и Twitter для ускорения своих сайтов и веб-сервисов. Инженеры, которые работали над SPDY — Майк Белше и Роберто Пеон, принесли его в рабочую группу по HTTP и предложили создать на его основе стандарт, который должен был прийти на замену HTTP/1.1.
Власть стандартов
Почему же для стандартизации столь эффективного решения потребовалось столько времени? Марк Ноттингем в своем блоге рассказывает, какая непростая задача — принятие нового стандарта.Дело в том, что у разных участников интернет-сообщества свое видение того, как должны развиваться технологии и рынок, между ними идет постоянная борьба за то, чей продукт получит лидерство. У бизнеса, государства, телекоммуникационных и интернет-компаний разные цели и задачи.
Инженерный совет интернета хотя и является дочерней структурой крупнейшей международной профессиональной организации интернета (ISOC), в которой состоят более 20 тыс. членов и 100 организаций из 180 стран мира, но его деятельность заждется на консенсусе участников. Если нарушить его, то стандарты IETF будут игнорироваться и появятся альтернативные варианты, что вызовет хаос. Поэтому Инженерный совет интернета может способствовать рыночной борьбе, но никак не диктовать условия ее участникам. Достижение консенсуса по новому протоколу, сбор и обработка всех мнений и возражений и выработка единого решения — это задача, которая требует огромных усилий волонтеров и много времени.
Сноуден и морковка
Именно с этим моментом была связана самая большая дискуссия внутри рабочей группы по HTTP и за ее пределами, которая касалась безусловного внедрения шифрования на основе TSL в новый протокол HTTP/2. Майк Белше, большой фанат криптографии, настаивал на том, чтобы использовать скоростные преимущества HTTP/2 как «морковку», стимулирующую повсеместное введение шифрования и увеличение безопасности интернета. То, что необходимость этого назрела, специалистам было понятно уже тогда.
Скандал с раскрытием бывшим сотрудником Агентства национальной безопасности США Эдвардом Сноуденом глобальной слежки, осуществляемой спецслужбами США и Великобритании с использованием систем взлома защищенных каналов связи, лишь подлил масла в огонь. Однако крупные игроки сетевого рынка, такие как операторы сетей и поставщики услуг прокси-серверов, были резко против. Поэтому Марк Ноттингем принял решение сделать поддержку TSL-шифрования необязательной.
Возможно, участники группы понимали, что в этом случае стандарт не получит поддержку также и от правительств многих государств — как напрямую, так и опосредованно через крупных участников рынка. Однако Firefox и Chrome, за которыми стоят игроки, придерживающиеся противоположного мнения и благополучие которых зависит от доверия их пользователей по всему миру, уже заявили, что не будут поддерживать вариант протокола без шифрования.
Так или иначе, описание протокола HTTP/2 отправлено в редактор RFC (Request for Comments — «Запрос на комментарии»), скоро получит соответствующий номер и будет опубликовано в качестве стандарта. Да, потребуется несколько лет, прежде чем он будет внедрен повсеместно, но теперь от более быстрого и безопасного интернета нас отделяет только время.