<rmcreative>

RSS

HTTP/2

3 марта 2015

17 февраля 2015 вторая версия HTTP стала кандидатом на стандарт и уже поддерживается в Chrome (--enable-spdy4), Firefox, IE 11.

Изменения, по сравнению с 1.1, значительные и серьёзно повлияют на веб-разработку в целом.

HTTP/2 основан на SPDY. То есть используется одно TCP соединение для передачи в обе стороны нескольких запросов-ответов. Передаваемое при этом, включая заголовки, представляется в сжатом бинарном виде. В дополнение сервер может заранее отсылать не связанные с открытой страницей ресурсы в кэш браузера.

То есть такие техники как спрайты, сжатие и сборка CSS/JS в один файл, отдельный домен без cookie для ресурсов, несколько доменов для ресурсов, становятся не нужны и даже вредны. Правильно будет отдавать ресурсы мелкими порциями только когда они реально нужны. То есть чтобы для каждой отдельно взятой страницы количество загружаемых ресурсов было минимальным.

Комментарии RSS

  1. №9662
    CTAPbIu_MABP
    CTAPbIu_MABP 03.03.2015, 16:52:56

    в кеш браузера)

  2. №9663
    Sam
    Sam 03.03.2015, 17:11:42

    CTAPbIu_MABP, ?

  3. №9665
    MaximAL
    MaximAL 03.03.2015, 17:37:44

    Строго говоря, сжатие CSS- и JS-ресурсов и сейчас-то не особо нужно, почти все веб-серверы и клиенты умеют передавать сжатый gzip-ом контент.

    Основная польза минификации, по сути, состоит только в склеивании всех файлов в один, да в некотором сокрытии JS-кода от анализа.

  4. №9666
    Денис Радченко
    Денис Радченко 03.03.2015, 18:06:39

    Т.е. браузер будет держать comet соединение с сервером ?

  5. №9667
    Sam
    Sam 03.03.2015, 19:03:11

    Будет, но не comet.

  6. №9668
    nex2hex
    nex2hex 03.03.2015, 19:16:40

    nginx.com/blog/how-nginx-plans-to-support-http2/

    We’re pleased to announce that we plan to release versions of nginx and NGINX Plus by the end of 2015 that will include support for HTTP/2.

    Уже скоро. К тому времени доля браузеров с поддержкой Http2 будет сильнов выше 50%

  7. №9669
    Дмитрий
    Дмитрий 04.03.2015, 5:04:50

    Новые браузеры будут поддерживать http/2, но серверам все так же придется поддерживать старые версии протокола для староверов / чайников со старым IE. Беспокоит возрастающая нагрузка на сервер.

  8. №9670
    Sam
    Sam 04.03.2015, 13:27:52

    С чего она возрастёт?

  9. №9672
    Etki
    Etki 08.03.2015, 0:29:48

    @Дмитрий, ну сложно представить мгновенный переход с А на Б. Насчет нагрузки на сервер - вряд ли некоммерческие проекты (я имею в виду в основном личные и информационные сайты) заметят даже 20% прирост, коммерческие проекты давно знают формулу "тормозит - докупи сервер".

  10. №9673
    Etki
    Etki 08.03.2015, 0:31:02

    @Sam, очевидно имелось в виду это предложение:

    В дополнение сервер может заранее отсылать не связанные с открытой страницей ресурсы в кэш сервера.

  11. №9674
    Sam
    Sam 08.03.2015, 15:33:27

    Etki, исправил. Конечно же, браузера, а не сервера.

  12. №9721
    Александр
    Александр 26.03.2015, 23:55:04

    Нужная информация.

  13. №9763
    юрий
    юрий 16.04.2015, 15:29:58

    мнимый выигрыш только на времени создания нового сединения сервером, т.к. используется мультиплексирование (проще говоря, передача данных по одному каналу). Это суть SPDY от гугл. При SSL/TLS выигрыш на отсутствии дополнительных рукопожатий, хотя тоже не факт.

    Постоянное соединение есть и в http/1.1 , просто там лимит устанавливается браузером 5-8 соединений. Как правило, этого достаточно чтобы подгрузить все файлы паралельно. Что касается мультиплексирования - то возрастает нагрузка та сервер из-за вичисления приоритета данных (хотя возможно компенсируется сокращением соединений).

    сжатие и остальное бла-бла. разница от http/1.1 только в сжатии заголовков HTTP протокола (кот. является просто текстом). В HTTP /1.1 сжатия нет. В SPDY используется DEFLATE (1951 год), а в 2й версии перешли на HPACK (кот. еще не проверен толком).

    А ну да, еще одна крутая вещь, это форсированое сжатие текста gzip.

    единственный реальный выигрыш для сервера, и в том, что 1 клиент использует только 1 порт, тем самым повышая кол-во клиентов, которые могут подключиться к серверу в 5-8 раз.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.