LINUX.ORG.RU

Работы над стандартом HTTP/2 завершены

 , , ,


7

4

Организация IESG подтвердила финальные версии черновиков протокола HTTP/2 и формата компрессии HPACK. Спецификации отправлены в редактор RFC для присвоения номера и финальной корректировки.

Среди ключевых особенностей бинарного протокола HTTP/2, который пришёл на смену текстовому HTTP/1.1:

  • Повышение эффективности использования сетевых ресурсов за счёт мультиплексирования запросов, расстановки приоритетов для запросов и сжатия заголовков HTTP.
  • Загрузка нескольких элементов параллельно, посредством одного TCP соединения.
  • Поддержка проактивных push уведомлений со стороны сервера.
  • Исправлена конвейерная обработка и проблема блокировки начала очереди.

Глава рабочей группы IETF HTTP Working Group Марк Ноттингем (Mark Nottingham) в своем блоге поблагодарил всех, кто внёс свой вклад в разработку новых спецификаций.

>>> Подробности

★★

Проверено: beastie ()

HTTP/2 == HTTP*0.5 ?

anonymous ()

Вкратце, что это значит для обычных людей? через telnet уже не отправить запрос, а awk+sed не распарсить?

loz ★★★★★ ()
Ответ на: комментарий от loz

Вкратце, что это значит для обычных людей? через telnet уже не отправить запрос, а awk+sed не распарсить?

HTTP/2 — это протокол не для людей, а, как и HTTP/1*, для машин. Но ничто не мешает людям написать для его разбора специальную утилиту. Раньше HTTP/1 и HTTP/1.1 по недоразумению был в человекочитаемой форме. Но теперь этот бесполезный пережиток прошлого выбросили. СР! УВЧ!

anonymous ()

через telnet уже не отправить запрос

Сервер же может ответить поддерживает ли он протокол или нет, отправляй запрос как HTTP/1.X и получишь ответ. И парси потом до посинения.

В целом - отличные новости!

deep-purple ★★★★ ()
Ответ на: комментарий от tensai_cirno

ебилдов nginx'а

Ну, пока еще рано, сначала точно будет сделано в курле как экспериментальная фича.

deep-purple ★★★★ ()

А теперь старый быстро закопать!

Mystra_x64 ★★★★★ ()
Ответ на: комментарий от loz

Вкратце, что это значит для обычных людей?

Браузер будет быстрее загружать сайты, веб-разработчикам будет меньше мороки.

через telnet уже не отправить запрос, а awk+sed не распарсить?

Если сайт поддерживает HTTP, никто не отрубает поддержку HTTP/1.0, посылай, парсь. Если не поддерживает, ты и сейчас не сможешь отправить запрос через telnet. Рекомендую использовать для этого специальные инструменты вроде curl.

Legioner ★★★★★ ()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Mystra_x64

точно. по законам жанра старое надо начинать закапывать до того, как новое хоть как-то оформилось.

anonymous ()

Фидлер, надеюсь, эту дрянь нормально парсить будет. В баню эту бинарную фигню, если дебажить с ней станет сложнее.

d9d9 ★★★ ()
Ответ на: комментарий от tensai_cirno

Курл зависит от своего автора, который является и автором-соавтором протокола хттп-2, и он уже это дело реализует прямо щас в своем курле. Поэтому пока сысоев проснется и напишет первую строчку кода, в курле уже все будет готово.

deep-purple ★★★★ ()
Ответ на: комментарий от loz

Вы про сжатие? Вообще есть интересный вопрос про наличие режима обратной совместимости в стеке. Кстати, новый протокол всё на том же порту будет работать, на 80/tcp?

Infra_HDC ★★★★ ()
Ответ на: комментарий от deep-purple

Пока в курле приготовят, уже давно написано на Go, и скоро будет в стандартной библиотеке.

tensai_cirno ★★★★★ ()
Ответ на: комментарий от Infra_HDC

Да, на том же. Все прозрачно. Клиент шлет заголовок с хттп-2, если сервер умеет, то отдаст в хттп-2, иначе, как обычно ответит списком того что поддерживает. На что клиент должен будет альтернативно выбрать что ему понравится, и это явно будет хттп-1.Х

deep-purple ★★★★ ()
Ответ на: комментарий от Infra_HDC

Кстати, новый протокол всё на том же порту будет работать, на 80/tcp?

На 443-м. Из браузеров только IE будет поддерживать HTTP/2 на 80-м порту, поэтому смысла в этом нет, можно считать, что HTTP/2 == TLS 1.2+

А на 80-м порту HTTP/2 работает через заголовок Upgrade, аналогично вебсокетам. Но смысла включать его там нет от слова совсем.

Legioner ★★★★★ ()
Ответ на: комментарий от Legioner

Браузер будет быстрее загружать сайты, веб-разработчикам будет меньше мороки.

И все это будет жрать ресурсы.

mandala ★★★ ()
Ответ на: комментарий от loz

Вкратце, что это значит для обычных людей?

Что теперь придется поддерживать сразу HTTP/1.1 HTTP/2 и SPDY клиентов. Тут размышляю над этим.

anonymous_sama ★★★★★ ()

лет через 10 станет стандартом ?

kto_tama ★★★★★ ()
Ответ на: комментарий от mandala

И все это будет жрать ресурсы.

Почему это? Байтов по сети летает меньше, протокол машинно-ориентированный. Если про ресурсы говорить, то этот протокол должен жрать куда меньше, чем HTTP/1.1 over TLS.

Другой вопрос, что если сайты будут грузиться быстрее, то в них и сувать будут больше. Это как процессоры работают быстрее — значит будем пускать на них более сложные задачи, на оптимизацию будем тратить меньше времени. Но это не проблема HTTP/2.

Legioner ★★★★★ ()
Ответ на: комментарий от anonymous_sama

Что теперь придется поддерживать сразу HTTP/1.1 HTTP/2 и SPDY клиентов. Тут размышляю над этим.

SPDY гугл скоро отключит, не нужно его поддерживать. Это была переходная технология, пока не были готовы стандарты. Примерно как Google Gears (кто-нибудь помнит такое?).

Legioner ★★★★★ ()

Даешь теплые бинарные Х.* !

anonymous ()
Ответ на: комментарий от Infra_HDC

Кстати, новый протокол всё на том же порту будет работать, на 80/tcp?

Учитывая, что реализации h2 очень хочет сертификаты, то скорее 443. Но, вроде можно пускать и нешифрованный поток через 80. Надо смотреть реализацию.

imul ★★★★★ ()
Ответ на: комментарий от Legioner

Ну да. Я больше вторую часть комментировал:

веб-разработчикам будет меньше мороки

mandala ★★★ ()

иии.. чо? в апаче есть поддержка хотя бы? ожидается ли вообще? хотя в nginx может появиться и быстрее, чем в индейце.

Komintern ★★★★★ ()
Последнее исправление: Komintern (всего исправлений: 1)
Ответ на: комментарий от Legioner

SPDY гугл скоро отключит, не нужно его поддерживать.
At the same time, Google says it will remove support for SPDY in early 2016

Не так уж скоро, плюс его остается тележка и вагон браузеров разных версий которые его поддерживают. Пока я думаю, что буду тянуть ровно до 2016, и отключу поддержку SPDY в новый год. (там все равно всем не до того будет)

anonymous_sama ★★★★★ ()
Ответ на: комментарий от mandala

А что им за морока, протоколы реализуют веб-серверы. Одну строчку в конфиге дописать в худшем случае. А скорее всего вообще ничего не надо будет писать, по умолчанию всё заработает.

Legioner ★★★★★ ()
Ответ на: комментарий от anonymous_sama

Что теперь придется поддерживать сразу HTTP/1.1 HTTP/2 и SPDY клиентов.

А quiс уже закопали?

imul ★★★★★ ()
Ответ на: комментарий от anonymous_sama

Моё мнение — если пользователь хочет быстрые сайты, он держит браузер обновлённым. И FF и Chrome уже поддерживают HTTP/2, даже тестовый IE поддерживает. Если он не обновляет браузер, ему плевать на скорость, пусть жрёт HTTP/1.1 :) Но это так, на самом деле какая разница, пусть будет SPDY, пока из веб-сервера его не уберут. Есть не просит же.

Legioner ★★★★★ ()
Последнее исправление: Legioner (всего исправлений: 2)
Ответ на: комментарий от Komintern

Apache, по большому счёту, уже abandon-ware. Т.ч. вся надежда на nginx.

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от kto_tama

лет через 10 станет стандартом ?

FF и Chrome уже поддерживают из коробки. IE скоро поддержит. Насчёт Safari не понятно, но, думаю, поддержат в следующем мажорном обновлении осенью, куда они денутся. Так что клиенты уже готовы.

В популярных серверах пока поддержки нет, но если учитывать, что nginx прекрасно поддерживает SPDY, а HTTP/2 очень много заимствовал из него, скорее всего поддержка скоро появится. Пока не появилась, можно через reverse proxy включать. В общем, скорее всего, в 2016-м >50% трафика пойдёт через HTTP/2.

Legioner ★★★★★ ()

всё таки продавили свою поделку. большой шаг назад. печально это всё.

anonymous ()
Ответ на: комментарий от imul

и конечно же старый добрый HTTP/1.1 между фронтендом и бекендом. как-то бессмысленно выглядит..

Komintern ★★★★★ ()
Ответ на: комментарий от anonymous

всё таки продавили свою поделку. большой шаг назад. печально это всё.

А как надо было? Можешь сразу ссылкой на свой вариант стандарта.

anonymous ()
Ответ на: комментарий от Komintern

Между фронтом и бэком бывает намного хуже чем http/1.1
А вот даст выигрыш прокси уже вопрос. С одной стороны данных клиенту меньше отдавать, с другой стороны лишние слои и задержки.

imul ★★★★★ ()
Ответ на: комментарий от anonymous

А как надо было? Можешь сразу ссылкой на свой вариант стандарта.

ну ты же понимаешь, что текстовые протоколы стали применять чтобы избежать проблем бинарных протоколов, да?

anonymous ()
Ответ на: комментарий от kto_tama

лет через 10 станет стандартом ?

Боюсь, что HTTP/2 постигнет участь IPv6. И вроде как он то и есть, и всё то его поддерживает, а нет его. Legacy страшная вещь!

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от imul

Между фронтом и бэком бывает намного хуже чем http/1.1

что например? все чаще встречаю там REST

Komintern ★★★★★ ()
Ответ на: комментарий от loz

При использовании HTTP/2 проще отслеживать пользователя. Отслеживать в смысле «ага, это тот же юзер, который тут был вот тогда-то».

anonymous ()

Уже говорили, что это противоречит философии Юникс?

romeo250501 ★★★ ()
Ответ на: комментарий от Legioner

Т.к броузеры слишком говнокодны и тяжелы, на обновление уйдёт больше ресурсов, чем на сайты

mittorn ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.