Воскресенье, 19.05.2024, 03:45
Приветствую Вас, Гость | RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2015 » Май » 16 » Опубликованы RFC для HTTP/2 и ChaCha20/Poly1305
21:24
Опубликованы RFC для HTTP/2 и ChaCha20/Poly1305
Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернет, завершил формирование RFC для протокола HTTP/2.0 и опубликовал связанную с ним спецификацию, как RFC 7540. RFC получил статус "Предложенного стандарта", после чего начнётся работа по приданию RFC статуса чернового стандарта (Draft Standard), фактически означающего полную стабилизацию протокола и учёт всех высказанных замечаний. В основу HTTP/2.0 положен протокол SPDY, разработанный компанией Google и позволяющий ускорить загрузку сайтов на 15-50%. HTTP/2.0 решает задачи повышения эффективности использования сетевых ресурсов и снижения задержек при соединении и обмене данными между клиентом и сервером, в условиях изменившихся современных реалий, при которых для загрузки сайта требуется отправить множество отдельных запросов (в среднем около 100), связанных с получением CSS, файлов JavaScript и картинок. Протокол HTTP/1.1, в силу блокировок при конвейерной передаче данных и высоких накладных расходов на отдачу ресурсов небольшого размера, не может обеспечить должную эффективность и вынуждает устанавливать несколько одновременных TCP-соединений к серверу. Основные особенности (PDF) HTTP/2.0: Применение бинарного протокола, оперирующего передачей бинарных кадров. Каждый кадр имеет заголовок с информацией о типе, размере, опциях и идентификаторе потока. Кадры с типом DATA используются для передачи данных, HEADERS - HTTP-заголовков, RST_STREAM - для досрочного прерывания отправки данных; Мультиплексирование и распараллеливание потоков в рамках одного TCP-соединения. Пакеты разных потоков смешиваются и, в отличие от конвейерной передачи HTTP/1.1, не ожидают окончания отправки запроса. Поддержка эффективной двунаправленной передачи данных. Возможность мультиплексирования при обращении к разным хостам, что позволяет дополнительно ускорить одновременную загрузку web-контента с разных сайтов (в SPDY мультиплексирование поддерживается только для одного хоста); Возможность установки приоритетов и зависимостей для потоков, что позволяет выделить наиболее важные потоки, которые нужно выполнить в первую очередь, а также определить зависимость одного потока от другого; Сжатие HTTP-заголовков. В том числе поддерживается устранение дубликатов заголовков и Cookie, повторяющихся для серии запросов к одному сайту. Допускается определение отдельных заголовков не подлежащих сжатию; Низкая чувствительность к задержкам; Средства для согласования протокола между клиентом и сервером, позволяющие выбрать HTTP/1.1, HTTP/2.0 и другие протоколы: сервер предоставляет список поддерживаемых протоколов, которые может выбрать клиент. Для шифрованных соединений параметры TLS согласовываются при помощи протокола APLN, при котором клиент сообщает список поддерживаемых опций, а сервер выбирает наиболее оптимальный для себя вариант; Обеспечение высокого уровня совместимости с HTTP/1.1: сохранены заголовки, схема URI, коды состояния и методы (GET, POST и т.п.). Обеспечена возможность создания прокси для доступа клиентов HTTP/1.1 к серверам HTTP/2.0; Возможность установки шифрованных (HTTPS) и нешифрованных соединений (HTTP). Шифрование осуществляется с использованием TLS 1.2 или более новой версии. Несмотря на то, что спецификация допускает создание нешифрованных соединений, разработчики Firefox и Chrome намерены обеспечить работу HTTP/2.0 только поверх TLS; Поддержка технологии Server push для передачи данных от сервера к клиенту (например, когда сервер считает, что после определённого запроса обязательно будут затребованы другие данные, он может отправить эти данные не дожидаясь фактического запроса); Поддержка HTTP/2.0 уже реализована в браузерах Firefox 36+, Chrome (требуется сборка с "--enable-spdy4") и IE 11. Серверные реализации пока ограничиваются OpenLiteSpeed, H2O, nghttp2 и некоторыми библиотеками на высокоуровневых языках. Дополнительно можно обратить внимание на публикацию RFC 7539, стандартизующий потоковый шифр ChaCha20 и алгоритм аутентификации сообщений (MAC) Poly1305, разработанные Дэниелом Бернштейном (Daniel J. Bernstein), Таней Ланге (Tanja Lange) и Питером Швабе (Peter Schwabe). ChaCha20 и Poly1305 можно рассматривать, как более быстрые и безопасные аналоги AES-256-CTR и HMAC, программная реализация которых позволяет добиться фиксированного времени выполнения без задействования специальной аппаратной поддержки. В настоящее время данные алгоритмы включены в состав OpenSSH и составляют встроенный набор шифров, используемых при сборке без OpenSSL.
Просмотров: 197 | Добавил: muge | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Май 2015  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031