10 / 15
Как кешировать динамический контент на CDN и не отдать пользователю лишнего?
CDN кеширует ответ по ключу кеша — обычно это метод, хост и путь; всё остальное (заголовки, куки, параметры запроса) попадает в ключ только если вы явно это указали. Отсюда два класса ошибок: персональный ответ, закешированный для всех, и полное отсутствие кеша из-за куки в ключе. Динамику кешируют короткими TTL в сочетании с stale-while-revalidate: пользователь получает слегка устаревший ответ мгновенно, а обновление происходит фоном. Инвалидация бывает по пути и по тегам — второе удобнее для связанных страниц. Персональные ответы помечают Cache-Control: private и кешируют только в браузере.