Удаление HTTP/2 Server Push из Chrome

В соответствии с предыдущим объявлением , поддержка HTTP/2 Server Push будет по умолчанию отключена в Chrome 106 и других браузерах на базе Chromium в их следующих выпусках.

Почему это удаляют?

HTTP/2 Server Push позволял веб-сайтам заранее отправлять ресурсы, необходимые странице, вместо того, чтобы ждать их запроса. Однако, как писал ранее Джейк Арчибальд, это было проблематично, и зачастую было трудно реализовать преимущества в производительности. В результате он не использовался широко: только 1,25% сайтов HTTP/2 использовали эту функцию.

Анализ использования HTTP/2 Server Push дал неоднозначные результаты ( Chrome , Akamai ) без явного чистого прироста производительности и во многих случаях снижения производительности.

Push не был реализован на многих серверах и клиентах HTTP/3, хотя он был включен в спецификацию . Для большей части сети , использующей более новый HTTP/3 , Push фактически уже выведен из эксплуатации. При повторном запуске этого анализа мы видим, что уровень поддержки HTTP/2 сайтами с 1,25% упал до 0,7%.

Альтернативы HTTP/2 Server Push

103 Early Hints — гораздо менее подверженная ошибкам альтернатива, имеющая многие из тех же преимуществ, что и Push, и гораздо меньше недостатков. Вместо того, чтобы сервер отправлял ресурсы , 103 Early Hints отправляет браузеру только подсказки о ресурсах, запрос которых может быть полезен немедленно. Это позволяет браузеру самостоятельно решать, нужны ли ему эти ресурсы или нет — например, есть ли у него эти ресурсы в кэше HTTP.

Предварительная загрузка критических ресурсов — это еще одна альтернатива, которая позволяет странице и браузеру работать вместе, чтобы упреждающе загружать критические ресурсы на ранних этапах загрузки страницы. Хотя для этого требуется, чтобы сначала была отправлена ​​сама страница (поэтому это не так быстро, как Server Push или Early Hints), у этого метода есть дополнительное преимущество, заключающееся в том, что он не задерживает этот критический ресурс страницы, что может произойти с обоими этими решениями.

Заключение

Сеть должна иметь возможность пробовать разные вещи и отбрасывать их, когда они не используются. Хотя потенциал Push звучал великолепно, на самом деле его использование оказалось более проблематичным, чем предполагалось. Тем не менее, мы многому научились у Push, которые вошли в дизайн 103 Early Hints. Теперь пришло время завершить прогрессию и отойти от Пуша.

Благодарности

Изображение героя Скотта Роджерсона на Unsplash