304 Not Modified with 200 (from cache)
https://sookocheff.com/post/api/effective-caching/ is an excellent source to form the required understanding around these 2 HTTP status codes.
After reading this thoroughly, I had this understanding
In typical usage, when a URL is retrieved, the web server will return the resource's current representation along with its corresponding ETag value, which is placed in an HTTP response header "ETag" field. The client may then decide to cache the representation, along with its ETag. Later, if the client wants to retrieve the same URL resource again, it will first determine whether the local cached version of the URL has expired (through the Cache-Control and the Expire headers). If the URL has not expired, it will retrieve the local cached resource. If it determined that the URL has expired (is stale), then the client will contact the server and send its previously saved copy of the ETag along with the request in a "If-None-Match" field. (Source: https://en.wikipedia.org/wiki/HTTP_ETag)
But even when expires time for an asset is set in future, browser can still reach the server for a conditional GET using ETag as per the 'Vary' header. Details on 'vary' header: https://www.fastly.com/blog/best-practices-using-vary-header/
Related videos on Youtube
Boltosaurus
HTML5, CSS3, Javascript, Jquery, C#, ASP.NET, WCF, PHP, JAVA, SPRING, HIBERNATE, MAVEN NODE MS-SQL SERVER 200X, MySQL
Updated on September 16, 2022Comments
-
Boltosaurus over 1 year
I'm trying to understand what exactly is the difference between "status 304 not modified" and "200 (from cache)"
I'm getting 304 on javascript files that I changed last. Why does this happen? Thanks for the assistance.
-
PM. over 10 yearsThis is question is same as Here. You will get the details here and can be very helpful.
-
kliron about 7 yearsPossible duplicate of What is the difference between HTTP status code 200 (cache) vs status code 304?
-
Sudesh Lakmal Pathirana over 3 yearsplease refer this URL jakearchibald.com/2016/caching-best-practices it will be very helpful.
-