How do I prevent the images from being requested on Shift+F5?

94 Views Asked by At

I have a website with a page containing a lot of images. Those images will never change on the server (if they change, the URI on the page referencing them will have a different version parameter, in an URI such as http://cdn.example.com/image1.jpg?v=123).

The images are served with Cache-Control: max-stale=31536000, public header as advised in an answer on StackOverflow.

ETag header is disabled, as recommended in another answer.

When I press F5 in Chrome, everything works as expected: the page reloads, and there are no requests for images. However, when I press Ctrl+F5, the browser does the requests to the server.

I want it to behave as for the favicon: do a request to the server only when explicitly asked (that is a Ctrl+F5 on the specific image), and avoid a roundtrip to the server when I do Ctrl+F5 on a page containing the images.

Is it possible?

If yes, what headers should I put in the response?

Notes:

  • The developer console remains closed during the tests.
  • The content is directly served from a server; no reverse proxies.
  • When the image is requested after I press Ctrl+F5 on a page, the request contains Cache-Control: no-cache, making it impossible to respond with HTTP 304.
0

There are 0 best solutions below