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