http2_push
Директива http2_push включает server push для конкретных ресурсов в NGINX. — NGINX HTTP Core
Описание
Директива http2_push используется в NGINX для инициирования server push для ресурсов, которые следует отправлять клиенту проактивно, улучшая время загрузки веб-приложений. При определении в контекстах http, server или location эта директива приказывает NGINX отправлять указанные ресурсы всякий раз, когда поступает соответствующий запрос к указанному URI. Это особенно эффективно в HTTP/2, который позволяет серверу одновременно отправлять несколько ответов на один и тот же запрос клиента. Директива http2_push принимает один аргумент, который определяет ресурсы, отправляемые принудительно. Как правило, это статические файлы, такие как таблицы стилей или скрипты, которые клиенту понадобятся для полного отображения страницы после её получения. Предварительная отправка этих файлов позволяет снизить воспринимаемое время загрузки, поскольку клиенту не требуется делать дополнительные запросы за этими ресурсами. Правильное управление такими отправками крайне важно, так как отправка ненужных ресурсов может привести к потере полосы пропускания и снижению производительности. При использовании директивы http2_push важно убедиться, что отправляемые ресурсы действительно необходимы для начального рендеринга страницы на стороне клиента. Это не только улучшает производительность, но и предотвращает чрезмерное использование ресурсов на стороне сервера. Кроме того, необходимо убедиться, что клиент поддерживает HTTP/2, поскольку откат на более старые версии HTTP не позволит эффективно использовать эту директиву.
Пример конфига
http2_push /static/style.css; http2_push /static/script.js;
Ресурсы следует тщательно выбирать, чтобы избежать лишних накладных расходов при передаче по сети.
Убедитесь, что клиент поддерживает HTTP/2 для эффективного использования возможностей server push.
Ресурсы, отправляемые через server push, должны быть стабильными и редко изменяться, чтобы избежать проблем, связанных с кэшированием.