Мое понимание установки Cache-Control с значением максимального возраста является то, что браузер проинструктирован кэшировать файл.браузер не реагирует с 200 (из кэша) и отправка 304 Not Modified
Что я тогда ожидаю, так это то, что если я нажму «enter» на адресной строке для той же ссылки, браузер вернет ответ 200 (из кэша).
Мой вопрос в том, почему он возвращает 304 не измененный ответ?
Как я вижу, с 200 (из кеша) браузер больше не делает соединение с Сервером для проверки файла и сразу же служит для кэширования содержимого. Но с 304, хотя браузер больше не будет загружать файл и просто попросит браузер обслуживать кешированный файл, ему все равно нужно отправить запрос для проверки свежести содержимого.
Активы здесь подаются с Amazon CloudFront CDN с ведрами Amazon S3 в качестве источника. Кэш-заголовок там (в S3) уже установлен. Это не было проблемой для всех других самообслуживаемых активов.
Спасибо за помощь!
EDIT: Я нашел это What is the difference between HTTP status code 200 (cache) vs status code 304?. Дополнительный вопрос: У меня уже есть Cache-Control набор для MaxAge = 31536000, втор-MaxAge = 2592000, нет-преобразования, общественное и до сих пор я получаю 304, сделать это нужно установить Expire также? Я мог бы кэшировать все раньше на самообслуживаемых сайтах только с помощью Cache-Control.