Я пишу сценарий, который объединит и минимизирует запрошенные файлы CSS, а затем выведет их эхом. Я уже проделал большую часть работы, но я застрял на одной маленькой, но очень важной части: использование кеширования браузера.
Большинство посетителей наших сайтов новые и редко когда-либо возвращаются. Так что нас действительно беспокоит кеширование между запросами страниц в одном сеансе. Мол, они попадают на нашу главную страницу, затем переходят на несколько других страниц и уходят.
Проблема, с которой я столкнулся, заключается в том, что я сохраняю временную метку в сеансе для последнего времени запроса для каждого конкретного набора файлов. Итак, если я хочу, чтобы main.css и internet.css этот запрос, а затем просмотр следующей страницы main.css и phone.css, тогда был бы обновлен метка времени последнего запроса, но если бы я снова запросил тот же набор файлов, метка времени была бы быть неизменным с прошлого раза.
Надеюсь, я понимаю. Проблема в том, что когда файл не изменился от последнего запроса до этого, я возвращаю 304 без изменений. Однако браузер не кэширует CSS, как должен. Есть идеи, почему бы и нет?
Вы можете посмотреть мой код здесь: https://gist.github.com/4235836 (я обычно сюда положил, но это вроде как долго)