У меня есть приложение ruby, настроенное на Heroku с использованием фреймворка Sinatra. Веб-сервер является единорогом, и когда запрос находит свое содержимое в кеше memcached (через гем Dalli), он говорит cache: [GET /] fresh
, поэтому он явно извлекает содержимое из кеша. Однако, когда я проверяю заголовки, код ответа всегда равен 200 вместо 304. У меня сложилось впечатление, что когда страница обслуживается из кеша, поскольку она все еще свежая, код ответа должен быть 304.
Это работает так, как задумано, и я что-то не понимаю? Юникорн просто не выдает 304 кода, когда находит что-то в кеше? Должен ли я просто не беспокоиться о таких вещах?
Любое руководство приветствуется.
304
относится не к кешу на стороне вашего сервера, а к кешу браузера. Вы/сервер должны правильно устанавливать/обрабатывать заголовкиETag
/If-None-Match
. - person   schedule 09.12.2012