Добрый день, коллеги! Сегодня поговорим об HTTP заголовке Vary. Точнее говорить будет Nicolas Frankel, а я лишь переведу оригинальную статью. Задача, описанная в статье мне показалась довольно интересной. И так ... Два года назад я реализовывал кэширование на стороне сервера. Идея состояла в кэшировании ранее вычисленных результатов, чтобы уменьшить нагрузку на серверную часть. Стандарт HTTP предлагает заголовок Cache-Control для определения стратегии кэширования или иными словами в какой момент времени сервер должен начать "игноририовать" ранее закешированные данные. А теперь представим себе следующий сценарий: клиент запрашивает некий ресур GET /book/1 и получает следующий ответ HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 1,
"title": "Notre-Dame de Paris"
} Результаты ответа успешно сохранены в кеше на серверной стороне в JSON формате. Следующим запросом мы обратимся к тому же ресурсу, но уже в формате XML (предварительно выставив значение заголовка Accept в applicati