http2_push_preload
Включает серверный push HTTP/2 для динамически предварительно загружаемых ресурсов. — NGINX HTTP Core
Описание
Директива `http2_push_preload` используется для указания того, что сервер должен проактивно отправлять ресурсы клиенту в контексте HTTP/2, не дожидаясь запроса со стороны клиента. Эта функция особенно полезна для оптимизации скорости загрузки страниц и улучшения пользовательского опыта за счёт доставки необходимых ресурсов в тот момент, когда они требуются. При установке в `on` директива позволяет серверу автоматически отправлять связанные ресурсы, помеченные для предварительной загрузки, на основе текущей запрашиваемой клиентом страницы. Эту директиву можно указать в контекстах `http`, `server` или `location` в конфигурационном файле NGINX. Включив `http2_push_preload`, администраторы сервера могут улучшить производительность загрузки приложений, особенно для сайтов с большим объёмом контента и множеством зависимостей ресурсов. Однако ненужные отправки могут расходовать пропускную способность и приводить к ухудшению производительности, если их не настроить правильно. Поэтому следует тщательно выбирать ресурсы, помечаемые для отправки, чтобы избежать отправки слишком большого количества ответов, которые клиенту не нужны.
Пример конфига
server {
listen 443 ssl http2;
server_name example.com;
http2_push_preload on;
location / {
root /var/www/html;
index index.html;
add_header Link "/styles/main.css; rel=preload; as=style";
}
}Чрезмерное использование server push может привести к увеличению использования полосы пропускания.
Не все браузеры поддерживают HTTP/2 server push, поэтому поведение может отличаться у разных пользователей.
Всегда убеждайтесь, что pushed resources действительно полезны клиенту, чтобы не тратить ресурсы впустую.