Skip to content
mxHeadless
REST API gateway для headless-фронтендов на MODX 3. Ресурсы, объекты, OpenAPI, API keys и OAuth
  1. Компоненты
  2. mxHeadless
  3. API
  4. HTTP-кэш

HTTP-кэш

Публичные GET можно кэшировать в браузере или CDN, если mxheadless_cache_enabled=true.

Заголовки

На безопасных маршрутах для anonymous:

text
Cache-Control: public, max-age=300
ETag: "a1b2c3d4e5f6..."

max-age из mxheadless_cache_ttl (default 300 с).

Conditional GET

Передайте ETag из прошлого ответа:

bash
curl -s -D - https://example.com/api/v1/resources/5 \
  -H 'If-None-Match: "a1b2c3d4e5f6..."'

Если представление не изменилось, сервер ответит 304 Not Modified без тела.

В Access-Control-Expose-Headers есть ETag, чтобы браузерный fetch мог revalidate. См. CORS.

Сессия и preview

Ответы с сессией, API key или ?preview=true:

text
Cache-Control: private, no-store

Не кладите их на общий CDN.

Инвалидация

Save и delete ресурса сбрасывают теги кэша объекта и списков. Для headless-фронта используйте webhooks и ISR revalidation.

См. также