The OpenNET Project / Index page

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

В Chrome 106 будет прекращена поддержка технологии Server Push

20.08.2022 07:24

Компания Google предупредила об отключении поддержки технологии Server Push в выпуске Chrome 106, намеченном на 27 сентября. Изменение также затронет и другие браузеры, основанные на кодовой базе Chromium. Технология Server Push определена в стандартах HTTP/2 и HTTP/3, и позволяет серверу отправить ресурсы клиенту, не дожидаясь их явного запроса. Предполагается, что таким образом сервер может ускорить загрузку страницы, так как необходимые для отрисовки страницы файлы CSS, скрипты и изображения к моменту запроса клиентом окажутся уже переданными на его сторону.

В качестве причины прекращения поддержки упоминается излишнее усложнение реализации технологии при наличии более простых и не менее эффективных альтернатив, таких как тег <link rel="preload">, на основании которого браузер может запросить ресурс не дожидаясь его использования на странице. C одной стороны, preload по сравнению с Server Push приводит к лишнему обмену пакетами (RTT), но с другой стороны позволяет избежать отправки ресурсов, которые уже имеются в браузерном кэше. В целом отличия в задержках при использовании Server Push и preload отмечены как несущественные.

Для инициирования упреждающей загрузки на стороне сервера предлагается использовать код HTTP-ответа 103, который позволяет информировать клиента о содержании некоторых HTTP-заголовков сразу после запроса, не дожидаясь пока сервер выполнит все связанные с запросом операции и начнёт отдачу контента. Подобным образом можно сообщать подсказки о связанных с отдаваемой страницей элементах, которые могут быть предварительно загружены (например, могут быть приведены ссылки на используемые на странице CSS и JavaScript). Получив информацию о подобных ресурсах браузер может приступить к их загрузке не дожидаясь окончания отдачи основной страницы, что позволяет сократить общее время обработки запроса.

Кроме оптимизации загрузки ресурсов механизм Server Push также мог применяться для потоковой передачи данных от сервера клиенту, но для этих целей консорциум W3C развивает протокол WebTransport. Канал связи в WebTransport организуется поверх HTTP/3 с использованием в качестве транспорта протокола QUIC. WebTransport предлагает такие расширенные возможности, как организация передачи в несколько потоков, однонаправленные потоки, доставка без учёта порядка отправки пакетов (out-of-order), надёжный и ненадёжный режимы доставки.

По статистике Google, технология Server Push не получила должного распространения. Несмотря на то, что Server Push присутствует в спецификации HTTP/3, на практике многие серверные и клиентские программные продукты, включая браузер Chrome, изначально не реализовали его. В 2021 году около 1.25% сайтов, работающих по HTTP/2, использовали Server Push. В этом году данный показатель снизился до 0.7%.

  1. Главная ссылка к новости (https://developer.chrome.com/b...)
  2. OpenNews: Для Chrome развивается API для прямых TCP и UDP коммуникаций
  3. OpenNews: Протокол QUIC получил статус предложенного стандарта
  4. OpenNews: Google опубликовал план прекращения поддержки второй версии манифеста Chrome
  5. OpenNews: В Chrome намерены удалить поддержку технологии Server Push
  6. OpenNews: W3C начал подготовку стандарта WebTransport
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57656-chrome
Ключевые слова: chrome, server, push
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 07:38, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как обычно : спихнули проблему с серверов на браузер .
     
     
  • 2.3, Аноним (3), 07:49, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    туда же со временем выкинут и HTTP/3 как "несущественный".
     
     
  • 3.37, Kuromi (ok), 15:07, 22/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это вряд ли. Зайдите на Ozon -он весь на HTTP3, что даже слегка удивительно. Ютуб - сейчас 50\50 выпадает HTTP2 или HTTP3, но по всей видимости частота трешки увиливается. Других крупных "внедрежей" пока не заметно.
     
  • 2.5, Дмитрий (??), 07:51, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    ясно почему, "я одна а вас много!"

    Если что-то может делать клиент, то он и должен это делать, а не сервер.

     
     
  • 3.6, Аноним (3), 07:56, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ничего-то ты не понимаешь... Серверпуш появился в хттп/2, а вебтранспорт - в хттп/3... Чувствуешь разницу в требованиях?
     
  • 3.22, torvn77 (ok), 19:27, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Если что-то может делать клиент, то он и должен это делать, а не сервер.  

    Следующим актом комедии будет брутфосом сервера имитацией инитиативного клиента.

     
  • 2.15, YetAnotherOnanym (ok), 14:28, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Как обычно: придумали проблему, а потом сами её спихнули.

    Пофиксил.

     

  • 1.2, хрю (?), 07:46, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +23 +/
    >Технология Server Push определена в стандартах HTTP/2 и HTTP/3.

    Ну и нафига такие стандарты нужны, спрашивается? Навыдумывают всякой фигни из серии "а вот не плохо было бы", пропихнут в стандарт, а потом ВНЕЗАПНО оказывается оно и ни кому и не надо, даже тем кто выдумывал.

     
     
  • 2.4, Аноним (3), 07:51, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Всё в стиле микрософта, у которого стандарт офисных документов отличается от собственной же реализации :)
     
     
  • 3.8, Аноним (8), 10:15, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вообще-то, это общемировое достояние, - делать из говна конфету. Или говно из конфеты? Не надо всё на продажные инстинкты МС сваливать )
     
  • 2.10, Аноним (10), 10:34, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и нафига такие стандарты нужны, спрашивается?

    Чтобы разработчики браузеров на других движках страдали, очевидно же. Сначала запиливай, потом выпиливай.

     
  • 2.38, Neon (??), 21:05, 22/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Каждый в IT изобретает гайки и болты своей системы)))
     

  • 1.7, Аноним (7), 07:59, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Вот и хорошо. А то понапридумывали тут слать всё подряд, поедая трафик. Мало ли что у меня там на клиенте выключено или вырезано.
     
  • 1.9, Аноним (9), 10:32, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Не могут же они просто взять и наплевать на стандарт!?!?!?
     
     
  • 2.11, Аноним (11), 11:55, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Они не смогли его реализовать — следовательно он нигде не работал — НИНУЖНО, УДОЛИ.
     
     
  • 3.14, Андрей (??), 14:15, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Они же сами его и придумали. HTTP/2 это переименованный SPDY.
     
  • 2.21, xm (ok), 19:08, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Гугл то? Да легко!
    А Майкрософт вообще годами стандартами подтирается. Даже своими собственными.
     

  • 1.12, Ю.Т. (?), 14:01, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Реализация всегда отличается от стандарта. Неполнотой, ошибками, особенностями.
     
  • 1.13, Аноним (13), 14:13, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Потому что стандартизировать надо не свои фантазии, а имеющиеся реализации, где уже как-то проработана предметная область.
     
     
  • 2.34, Аноним (34), 13:41, 22/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    золотые слова. их  бы в гранит и перед входом в стремительно бюрократизируемые обрастающие регламентами конторы
     

  • 1.16, kai3341 (ok), 15:41, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Server Push выглядит как самый производительный из теоретически возможных способов загрузки данных, которые нельзя кэшировать. Например, идеальное решение для всяких авторизующих виджетов
    При этом настройка server push на реальном фронте (держим в уме -- он часто меняется) -- это дичайший геморрой
    Вердикт -- технология таки нишевая, но равных в своей нише ей нет
    Гуглу хочется сказать следующее -- пропихнули стандарт -- поддерживайте его. А то получается "IE6 возвращается"
     
     
  • 2.17, Аноним (-), 16:09, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проблема server push в том что он логику ломает, и это более не запрос-ответ. Я вообще не понимаю зачем его в обязаловку в H2 загнали, кому-то шлея попала. А тут вот его иноверцу опять попала, замечательно, блин.

    Трабл с push? Сервак может лить что угодно, как угодно, и это даже заблочить, блин, адблокером каким - нельзя! В том смысле что можно не показывать, но скачать - придется! Слив на это трафик и время просто так. Потому что пихают в клиента без его желания.

    И если кто хотел вон то - может быть, ему доктор так то вебсокеты прописал, а не полухаки протоеола с потугами изобразить кривизну типа comet'а? По вебсокету вообще можно только данные в чистом виде гонять. В принципе это же и с XHR можно, если надо немного и эпизодически, но у вебсокета логика работы более гибкая и несколько симметричнее, если уж того хотелось. Вебсокет может быть апгрейдом что H2, что H1 вроде. Ему похрен, он потом TCP-конекцией на стероидах становится и оперирует "raw" данными с очень небольшим оверхедом на фрейминг. И если что-то часто меняется, логично вот именно в вебсокет это и пулять.

     
     
  • 3.18, kai3341 (ok), 16:40, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Сервак может лить что угодно, как угодно, и это даже заблочить, блин, адблокером каким - нельзя! В том смысле что можно не показывать, но скачать - придется! Слив на это трафик и время просто так

    О да. Найс. Воображение рисует отправку тонны рекламы пушем

    > ему доктор так то вебсокеты прописал

    Вебсокеты немного о другом. Статику гонять можно, но это извpaт же

    > И если что-то часто меняется, логично вот именно в вебсокет это и пулять

    Не, фронтовая статика меняется не настолько часто :DDDD

    Последние свои проекты я делал на вебсокете. Если данные там перебрасывать базаpа ноль (но вам придётся разработать свой (де)мультиплексирующий протокол поверх вебсокета. Иначе как послать 2 запроса одновременно? По очереди штoлe?), то статику... Не пробовал, и не особо понимаю, зачем

     
     
  • 4.30, Аноньимъ (ok), 01:17, 21/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если прямо кретично время загрузки статики, можно компилировать все в один файл.
     
  • 4.42, Аноним (-), 02:19, 23/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > О да. Найс. Воображение рисует отправку тонны рекламы пушем

    Да чего угодно, независимо от того собирался ли клиент что-то делать - програмер решил что соберется, и вот дескать нате. А если не соберется - ну, все-равно скачайте на всякий.

    > Вебсокеты немного о другом. Статику гонять можно, но это извpaт же

    В смысле? Если кто хотел именно интерактив, наверное, делать его вот именно статикой все же изврат, потому что не умеет она в это нормально хоть там как. А попытки неконтролируемо дописывать в хвост в конечном итоге RAM начинают жрать и она имеет свойство заканчиваться, особенно если юзер так и оставил это. Оно же так не может переписывать циклически лимитированый буфер. И это джеппа. Да и какую либо логику тоже апплаить не может. Я что-то упускаю?

    > Не, фронтовая статика меняется не настолько часто :DDDD

    Я просто не понимаю что в нормальном виде можно вон тем вообще делать? Что-то типа comet'а с его же траблами, с дописыванием хтмылки в хвост?

    > Последние свои проекты я делал на вебсокете. Если данные там перебрасывать базаpа
    > ноль (но вам придётся разработать свой (де)мультиплексирующий протокол поверх вебсокета.

    Ну да. Вебсокет в HTML не существует, его JS должен открыть. Ну как бы логично, HTML не яп и работать с сокетом для него самого было бы странновато :)

    > Иначе как послать 2 запроса одновременно? По очереди штoлe?), то статику...
    > Не пробовал, и не особо понимаю, зачем

    Что-то я не врубился про мысль про статику. В том случае основа морды может быть и довольно статичной сама по себе а вон те данные в нее JS уже впихнет по результатам парсинга добра из вебсокета. А в вон том стиле что вообще реализуется? Чатик в доисторическом убогом виде типа дурных IRC гейтвеев эпохи cgi-irc или как там его, когда если в чатик наспамили 100500 мегов, это дескать ваша проблема что оно у вас всю RAM сожрало на клиенте и поставило клиент раком нии...ческой HTMLкой?

     
  • 2.19, Аноним (19), 16:48, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Гуглу хочется сказать следующее -- пропихнули стандарт -- поддерживайте его. А то получается "IE6 возвращается"

    Веб-разработчикам хочется сказать следующее -- пропихнули стандарт -- поддерживайте его. А то получается "для просмотра нашего веб-сайта установите IE6/Гугель Хром, другие браузеры не поддерживаются".

     

  • 1.20, Kuromi (ok), 17:39, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    ЛОЛЧТО? Так ведь именно Гугл изо всех сил топил за Server Push и пропихивал их в стандарт! Или тут принцип "мне не надо - никому не надо"?

    "В качестве причины прекращения поддержки упоминается излишнее усложнение реализации технологии при наличии более простых и не менее эффективных альтернатив, таких как тег <link rel="preload">, на основании которого браузер может запросить ресурс не дожидаясь его использования на странице."

    Так эти "альтернативы" были еще до Серверного пуша и когда о них говорили Гугл раздраженно пожимал плечами, мол "вы не понмиаете. это другое".

    А теперь расписываются что неа? А как же восторги от идеи "совать ресурсы на клиент не спрашивая его мнения"? Например пропихивать рекламный баннер принудительно, обходя фильтры.

    Тот факт что Гугл убирает поддержку уже в 106 (т.е. вот почти сейчас), без стандартных для него многолетних периодов "заката" (тот же AppCache они убирали буквально на протяжении десятков релизов) намекает что либо Сервер Пуш не взлетел от слова вообще либо там нашлась какая-то жуткая дырень, такая что "хватай чемоданы, вокзал отходит".

     
     
  • 2.23, ivmRN2QAB0Qj8lzN (?), 20:21, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее всего возможно атака усилением трафика, когда на небольшой запрос сервер начинает срать лишними ресурсами.
    И забивает канал связи самостоятельно.
    Ботнет почти не нужен.
     
     
  • 3.26, Аноним (3), 20:46, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вывернутый ddos :) сервер сам себя выпорет.
     

  • 1.24, suffix (ok), 20:31, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    tcp fast_open выпили из браузера, http/2 server push выпилили из браузера.Обидно - зачем у себя реализовывал :(
     
     
  • 2.25, Аноним (3), 20:44, 20/08/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    типичные западные технологии: менять как можно чаще, чтобы обычный разработчик не поспевал за трендом.
     
     
  • 3.40, anonymous (??), 22:48, 22/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    "Огонь и движение"
     

  • 1.27, BrainFucker (ok), 20:57, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Добавили бы лучше в браузеры нативную поддержку RTSP блин. HLS и mpeg-dash убогие костыли.
     
     
  • 2.36, Kuromi (ok), 15:01, 22/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Добавили бы лучше в браузеры нативную поддержку RTSP блин. HLS и mpeg-dash
    > убогие костыли.

    Это не так просто. Нужно во первых подвигнуть браузеры на поддержку, причем ВСЕ и сразу. Помните какие были "войны" на тему видеоформата? MP4\WebM, h264\VP* - сколько времени потребовалось пока все не утряслось наконец. Далее нужно еще организовать поддержку RTSP на серверах, что тоже не моментальное дело. В общем даже начни они сейчас результаты будут через годы, с имеющейся инерцией-то.

     
     
  • 3.39, BrainFucker (ok), 22:03, 22/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На самом деле RTSP в браузерах вроде как бы есть, но то ли в сильно кастомизированном, то ли урезанном виде и используется только в WebRTC, если я ничего не путаю.
     

  • 1.28, Аноним (28), 21:31, 20/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Купил RTX 3080 Ti, проц 9900k. И даже с такой конфигурацией скролинг со статтерами и фризами на смузи-js сайтах. Я скорблю о вебе времён до html5.
     
     
  • 2.29, Аноньимъ (ok), 01:15, 21/08/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    HTML5 инструмент. И очень неплохой, в сравнении с тем что было до него.

    Те сайты что у вас тормозят скорее всего сделанны не на голом HTML5, а на чудофреймворках.

     
     
  • 3.32, Аноним (32), 09:17, 21/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошим инструментом был Silverlight. Google его убил (отказался поддерживать плагины). Сейчас единственный инструмент это WebAssembly (здесь можно Blazor вспомнить MS всё ещё пытается играть на чужом поле). HTML какой угодно - это "hyperlink TEXT MARKUP  language" - попытка сделать из него большее выглядит неплохо, но это всё равно посредственность: это чётко видно когда приходится воевать с багами округления размеров и бордюров в хромом.
     
     
  • 4.33, Аноним (3), 11:13, 21/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > был Silverlight

    Я сразу говорил своим знакомым писающим от него разработчикам, что его быстро похоронят.

     
  • 4.44, Аноним (-), 02:23, 23/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Хорошим инструментом был Silverlight.

    Чего в нем хорошего? Дотнет для веба подходит как д@рьмо для пуль, и по смыслу очередная замена флеша с теми же примерно граблями вышла. Если уж на то пошло, WASM в этом смысле как-то сильно лучше смотрится: ЯП вообще не навязывает, что сможете в него компилить то и юзайте, принципиальных проблем производительности нет особо, однако интеграция с DOM опять же некий трабл, ога.

     
  • 2.35, Аноним (34), 13:51, 22/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ибо тормозит канал, скорее всего днс-резолв. сравнивать провайдеров надо не спидтестом, а суммой полей time в HAR-логе браузера при заходе к одним и тем же ресурсам. Вполне может мегабитный канал с быстрым откликом бить трехсотмегабитный несимметричный, правда мегабитный канал сейчас уже и не найти.
     

  • 1.45, Аноним (-), 09:37, 23/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сафари всё рввно лучше!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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