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

Компания 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%.

Источник: opennet.ru

Добавить комментарий