Does the ETag header make the Cache-Control header obsolete? How to make sure Cache-Control is not harmful then?

前端 未结 2 1252
花落未央
花落未央 2021-01-22 18:42

Definition of ETag header (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag):

The ETag HTTP response header is an identifier for a specific

相关标签:
2条回答
  • 2021-01-22 19:24

    Presence of ETag header does not tell the browser to do anything. Browser decides what to do based on the Cache-Control header it receives in the request and cached response. If it decides that resource is stale or needs to be re-validated, then it can use the ETag value to create a conditional request to the server and either get a new resource (status code 200), or a notification that things have not changed (status code 304)

    Both headers are necessary for your cache to work optimally.

    0 讨论(0)
  • 2021-01-22 19:29

    After some research, I found a great tutorial on Medium by Alex Barashkov: "Best practices for cache control settings for your website".

    Alex writes:

    I recommend you apply Cache-Control: no-cache to html files. Applying “no-cache” does not mean that there is no cache at all, it simply tells the browser to validate resources on the server before use it from the cache. That’s why we need to use it with Etag, so browsers will send a simple request and load the extra 80 bytes to verify the state of the file.

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