Как запретить запрашивать изображения на Shift+F5?
У меня есть веб-сайт со страницей, содержащей много изображений. Эти изображения никогда не изменятся на сервере (если они изменяются, URI на странице, ссылающейся на них, будет иметь другой параметр версии в URI, например http://cdn.example.com/image1.jpg?v=123),
Изображения подаются с Cache-Control: max-stale=31536000, public
заголовок, как советовали в ответе на Stackru.
ETag
Заголовок отключен, как рекомендуется в другом ответе.
Когда я нажимаю F5 в Chrome, все работает как положено: страница перезагружается, и нет запросов на изображения. Однако когда я нажимаю Ctrl+F5, браузер выполняет запросы к серверу.
Я хочу, чтобы он вел себя так же, как и для значка: делайте запрос к серверу только при явном запросе (это Ctrl+F5 на определенном изображении) и избегайте обращения к серверу, когда я нажимаю Ctrl+F5 на странице, содержащей изображения.
Является ли это возможным?
Если да, то какие заголовки я должен указать в ответе?
Заметки:
- Консоль разработчика остается закрытой во время тестов.
- Контент напрямую подается с сервера; нет обратных прокси.
- Когда изображение запрашивается после нажатия клавиш Ctrl+F5 на странице, запрос содержит
Cache-Control: no-cache
, что делает невозможным ответить HTTP 304.