Re: http2 push — не планируется ли поддержка <link rel="preload"> по аналогии с заголовком Link?
Maxim Dounin
mdounin на mdounin.ru
Пн Апр 27 19:15:50 UTC 2020
Hello!
On Mon, Apr 27, 2020 at 02:44:26PM -0400, gz wrote:
> Maxim Dounin Wrote:
> -------------------------------------------------------
> > > В HTML страницы бэкендом выдаются элементы <link rel="preload"> с
> > указанием
> > > на ресурсы для предзагрузки.
> > > Хотелось бы перейти с предзагрузки на http2_push указанных ресурсов.
> >
> > А вы пробовали тестировать, что вы получите на выходе?
>
> Практически не проверял, но здравый смысл подсказывает, что даже в рамках
> HTTP2 проталкивание ресурсов в первом запросе позволит сэкономить минимум
> один запрос на получение ресурсов, объявленных в <link rel="preload">.
Здравый смысл тут подсказывает неправильно. Поскольку сервер не
знает, какие ресурсы уже есть у клиента, а каких ещё нет, он шлёт
push'ы всегда, и тем самым расходует как канал, так и лишние
ресурсы на сервере. Соответственно результат будет зависеть от
того, насколько польза от push'а (сэкономленный 1 rtt при запросе
дополнительных ресурсов у тех клиентов, у которых этих ресурсов
нет) больше или меньше тех проблем, которые push добавляет всем
остальным клиентам.
> > Имеющиеся исследования про эффективность HTTP/2 push позволяют предолжить,
>
> > что результат скорее всего будет хуже, чем то, что у вас есть
> > сейчас.
>
> Я встречал обратные исследования.
> https://dexecure.com/blog/http2-push-vs-http-preload/
По ссылке нет исследований, там только общие соображения.
Исследования выглядят как-то так:
https://github.com/httpwg/wg-materials/blob/gh-pages/ietf102/chrome_push.pdf
> Плюс у push шире поддерживается.
Я бы не был столь категоричен.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru