В соответствии с предыдущим объявлением , поддержка 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. Теперь пришло время завершить прогрессию и отойти от Пуша.
Ссылки по теме
- Все устаревания и удаления в Chromium
- Запись ChromeStatus: удалить отправку HTTP/2
- Намерение удалить: HTTP/2 и сервер gQUIC.
- Проблема с Chromium: отключите HTTP/2 Push по умолчанию
Благодарности
Изображение героя Скотта Роджерсона на Unsplash