Why does Browser still sends request for cache-control public with max-age?

前端 未结 4 1121
余生分开走
余生分开走 2020-12-08 13:16

I have Amazon S3 objects, and for each object, I have set

Cache-Control: public, max-age=3600000

That is roughly 41 days.

And I hav

相关标签:
4条回答
  • 2020-12-08 13:37

    If you are hitting the refresh button for loading the particular page or resource, the if-modified-since header request is sent everytime, if you instead request the page/resource as a separate request in a new tab or via a link in a script or html page, it will load the page/resource from the browser cache itself.

    This is what has happened in my case, may be this is the general universal case. I am not completely sure, but this is what I gathered via my digging.

    0 讨论(0)
  • 2020-12-08 13:38

    If Chrome Developer Tools are open (F12), Chrome usually disables caching.

    It is controllable in the Developer Tools settings - the Gear icon to the right of the dev-tools top bar.

    0 讨论(0)
  • 2020-12-08 13:45

    When you press F5 in Chrome, it will always send requests to the server. These will be made with the Cache-Control:max-age=0 header. The server will usually respond with a 304 (Not Changed) status code.

    When you press Ctrl+F5 or Shift+F5, the same requests are performed, but with the Cache-Control:no-cache header, thus forcing the server to send an uncached version, usually with a 200 (OK) status code.

    If you want to make sure that you're utilizing the local browser cache, simply press Enter in the address bar.

    0 讨论(0)
  • 2020-12-08 13:49

    If the HTTP Response contains the etag entry, the conditional request will always be made. ETag is a cache validator tag. The client will always send the etag to the server to see if the element has been modified.

    0 讨论(0)
提交回复
热议问题