push
Настраивает сервер на предварительную отправку ресурсов клиенту с использованием HTTP/2 server push.
Ресурсы могут быть связаны для server push, указав заголовок(и) Link в ответе. Данная директива автоматически будет подталкивать ресурсы, описанные заголовками Link от upstream в следующих форматах:
<resource>; as=script<resource>; as=script,<resource>; as=style<resource>; nopush<resource>;<resource2>;...
где <resource> начинается с обратного слэша / (т.е. это путь URI с тем же хостом). Подталкиваются только ресурсы на том же хосте. Если связанный ресурс внешний или имеет атрибут nopush, он не будет подталкиваться.
По умолчанию запросы push будут включать некоторые заголовки, считающиеся безопасными для копирования из исходного запроса:
- Accept-Encoding
- Accept-Language
- Accept
- Cache-Control
- User-Agent
так как предполагается, что многие запросы потерпят неудачу без этих заголовков; их не нужно настраивать вручную.
Запросы push виртуализируются внутри, поэтому они очень лёгкие.
Синтаксис
push [<matcher>] [<resource>] {
[GET|HEAD] <resource>
headers {
[+]<field> [<value|regexp> [<replacement>]]
-<field>
}
}
- <resource> — целевой путь URI для подталкивания. Если используется в блоке, может быть необязательно предваряться методом (GET или POST; GET по умолчанию).
-
<headers> манипулирует заголовками запроса push, используя тот же синтаксис, что и
headerдиректива. Некоторые заголовки переносятся по умолчанию и не нужно явно настраивать (см. выше).
Примеры
Подтолкнуть все ресурсы, описанные заголовками Link в ответе:
push
То же самое, но также подталкивать /resources/style.css для всех запросов:
push * /resources/style.css
Подталкивать /foo.jpg только когда /foo.html запрашивается клиентом:
push /foo.html /foo.jpg
© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/caddyfile/directives/push