The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"В кодовую базу nginx добавлен модуль для поддержки HTTP/2"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от opennews on 17-Сен-15, 22:16 
В состав основных исходных текстов nginx принят (http://mailman.nginx.org/pipermail/nginx-devel/2015-Septembe...) модуль с реализацией протокола HTTP/2, соответствующего спецификациям RFC 7240 (http://www.rfc-editor.org/rfc/rfc7540.txt) и RFC 7241 (http://www.rfc-editor.org/rfc/rfc7541.txt) (расширение HPACK для сжатия заголовков). Реализация HTTP/2 представлена в виде модуля ngx_http_v2 (включается через "configure --with-http_v2_module"), который заменил собой модуль ngx_http_spdy. Поддержка протокола SPDY, методы которого легли в основу HTTP/2, удалена из состава nginx.


Основные особенности (http://daniel.haxx.se/http2/) (PDF (https://github.com/vlet/http2-explained/blob/master/http2.ru...)) 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 (https://ru.wikipedia.org/wiki/%D0%A2%D0%...) для передачи данных от сервера к клиенту (например, когда сервер считает, что после определённого запроса обязательно будут затребованы другие данные, он может отправить эти данные не дожидаясь фактического запроса);

-  Поддержка HTTP/2.0 уже реализована в браузерах Firefox 36+, Chrome (требуется сборка с "--enable-spdy4") и IE 11. Серверные реализации пока ограничиваются (https://github.com/http2/http2-spec/wiki/Implementations)  OpenLiteSpeed (http://open.litespeedtech.com/), H2O (https://github.com/kazuho/h2o), nghttp2 (https://nghttp2.org/) и некоторыми библиотеками на высокоуровневых языках.


URL: http://mailman.nginx.org/pipermail/nginx-devel/2015-Septembe...
Новость: http://www.opennet.ru/opennews/art.shtml?num=42980

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +1 +/
Сообщение от Есюки on 17-Сен-15, 22:16 
не в курсе, подскажите в бесплатной версии все это будет доступно?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +3 +/
Сообщение от Аноним (??) on 17-Сен-15, 23:00 
причем тут платная? первая ссылка в тексте
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

12. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аноним (??) on 18-Сен-15, 08:36 
Он наверно имел ввиду всёвключеноизкаробки
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +1 +/
Сообщение от Барак Обама on 17-Сен-15, 23:42 
Мы уже используем в продакшене опенсорц патч для http2 в nginx,
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +5 +/
Сообщение от Igy on 17-Сен-15, 22:17 
Шикарно! Ускорение работы сайтов из каробки!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от th3m3 (ok) on 17-Сен-15, 22:48 
Не прошло и полгода.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Какаянахренразница (ok) on 18-Сен-15, 05:18 
Хочу. Как это бэкпортировать?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +5 +/
Сообщение от eRIC (ok) on 18-Сен-15, 12:10 
22.09.2015 будет очередной релиз 1.9.5, тогда можете смело играться :)
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

18. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Какаянахренразница (ok) on 18-Сен-15, 13:59 
> 22.09.2015 будет очередной релиз 1.9.5, тогда можете смело играться :)

Благодарствую за ценные сведения.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

23. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +1 +/
Сообщение от Sylvia (ok) on 18-Сен-15, 20:55 
http://nginx.org/patches/http2/
если невтерпеж )
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

33. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +1 +/
Сообщение от Анончег on 19-Сен-15, 17:00 
спасибо, потестировал!
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

34. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аноним (??) on 19-Сен-15, 23:31 
> спасибо, потестировал!

И как, много багов нашел?

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

11. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Джо on 18-Сен-15, 08:09 
Интересно было бы посмотреть есть ли реальный плюс от этого. Яндекс тестировал в свое время SPDY и не заметил каких-либо улучшений: http://habrahabr.ru/company/yandex/blog/222951/ Если заметных улучшений не будет, то этот HTTP/2 просто усложнение и увеличение различного рода векторов атаки на сервер (ну или на клиент).
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +3 +/
Сообщение от Аноним (??) on 18-Сен-15, 09:21 
Судя по описанию они не стали отказываться от костылей HTTP/1.1: шардинг, склейка большого числа css/js/img в блобы, поэтому и не увидели больших преимуществ. Чтобы увидеть преимущества http2 надо отказаться от этих костылей, задействовать server push.
Зацените, например, разницу скорости загрузки страницы со 180 картинками по http2 vs http/1.1, особенно если высокая задержка: https://http2.golang.org/gophertiles
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

19. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +1 +/
Сообщение от Аноним (??) on 18-Сен-15, 15:54 
> склейка большого числа css/js/img в блобы

Оптимизацию теперь называют костылем, однако. Сжатие тоже костыль наверное? Подкрутить ядро поди тоже костыль?

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

20. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +1 +/
Сообщение от Аноним (??) on 18-Сен-15, 15:56 
>> склейка большого числа css/js/img в блобы
> Оптимизацию теперь называют костылем, однако. Сжатие тоже костыль наверное? Подкрутить
> ядро поди тоже костыль?

Зафигачили индексы в СУБД - еще один костыль.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аналитик on 18-Сен-15, 16:38 
>>> склейка большого числа css/js/img в блобы
>> Оптимизацию теперь называют костылем, однако. Сжатие тоже костыль наверное? Подкрутить
>> ядро поди тоже костыль?
> Зафигачили индексы в СУБД - еще один костыль.

Установить любой софт не глядя, тоже костыль.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

22. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Имя on 18-Сен-15, 20:14 
Ок. Поменяли один файл из 100, браузер качает склееную простыню из 100 файлов заново, вместо того, чтобы быстро загрузить один изменившийся. Это не оптимизация — это костыль для обходя проблемы с закачкой большого числа файлов в HTTP/1.1. В http2 такой проблемы нет.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

25. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от rshadow (ok) on 18-Сен-15, 23:07 
Все правильно. И картинками проще управлять раздельными. И js с css на мелкие файлы логически разбивать, не заморачиваясь со сборкой. Все это несомненный плюс.

А вот сделать из текстового протокола бинарный, это уже плюс сомнительный.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

27. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аноним (??) on 19-Сен-15, 04:37 
Ощущение что вы css/js копи пастом собираете, проблемы то нет.
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

38. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аноним (??) on 19-Сен-15, 23:48 
> Ощущение что вы css/js копи пастом собираете, проблемы то нет.

Не, вот знаете, если протокол диктует представление контента - это таки хвост виляет собакой, а не что-нибудь еще.

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

29. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аноним (??) on 19-Сен-15, 12:34 
Трафик http/1.1 всё равно gzip'ом жмётся почти всегда.
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

31. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  –1 +/
Сообщение от Аналитик on 19-Сен-15, 13:10 
> Все правильно. И картинками проще управлять раздельными. И js с css на
> мелкие файлы логически разбивать, не заморачиваясь со сборкой. Все это несомненный
> плюс.
> А вот сделать из текстового протокола бинарный, это уже плюс сомнительный.

Даешь обфускацию с DRM js/css,

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

35. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аноним (??) on 19-Сен-15, 23:33 
> Даешь обфускацию с DRM js/css,

Так фигня вопрос - сделать шифрование или сжатие на JS вообще как два байта переслать. А уж с помощью WS можно произвольный протокол запустить поверх. Хотя при сильном желании можно и поверх HTTP.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

37. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аноним (??) on 19-Сен-15, 23:47 
> А вот сделать из текстового протокола бинарный, это уже плюс сомнительный.

Ну да, жыпег передаваемый в ответе на GET - такой из себя весь текстовый. Да и gzip-encoding ты врядли на глаз декодировать сможешь.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

28. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аноним (??) on 19-Сен-15, 04:39 
> Ок. Поменяли один файл из 100, браузер качает склееную простыню из 100
> файлов заново, вместо того, чтобы быстро загрузить один изменившийся. Это не
> оптимизация — это костыль для обходя проблемы с закачкой большого числа
> файлов в HTTP/1.1. В http2 такой проблемы нет.

Это не проблема. Хотя если вы меняете css/js 7 раз в день то да, вам просто необходим http2

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

36. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Аноним (??) on 19-Сен-15, 23:45 
> Это не проблема.

Вообще-то это проблема. Если сделать сайт "как логично" а не "как технические ограничения HTTP 1.1 диктуют" - он будет очень медленно грузиться на соединениях с большим RTT. Конечно, есть пайплайнинг. Но в целом HTTP 1.1 обладает рядом бестолковостей, которых у HTTP 2 нет.

> то да, вам просто необходим http2

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

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

41. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  +/
Сообщение от Джо on 23-Сен-15, 11:09 
> Должен же был прийти кто-то и избавить сайтостроителей от адовых костылестроений.

Костыли HTTP1.1 понятны и в принципе ничего сложного в них нет. Тут главное чтобы HTTP2.0 не добавит своих проблем и геморроя, сложностей с разработкой и отладкой, а также проблем с безопасностью.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

17. "В кодовую базу nginx добавлен модуль для поддержки HTTP/2"  –1 +/
Сообщение от абвгдейка (ok) on 18-Сен-15, 12:22 
nginx 2.0 - теперь и http/2.0 :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру