The Http Protocol does not have any header that (Via header can be used by advanced proxies but i had never seen that) can tell you if the image is coming from cache somewhere instead of original server. You can use the
Date
header to figure out if the request is coming from the cache or actual server.As per the Specification Date header represents the time when the response was generated by server. Now if Proxy is caching the response it will also cache the
Date
header value and when you try accessing that resource, cache will return you cached copy as well as value of Date
header.Ex. I tried going to www.yahoo.com on 14 th of July and these are the headers that i am getting
As you can see that the value of
Date
header is 12th of July
, which means that the cache got response from server on 12 th of July and that response is cached. If you look at value of cache-control
header it is set to max-age=315360000
, which is 10 years. Value of Expires
headers is 09 July 2020
, which means the server is saying that the image is valid for next 10 years. So when proxy gets a request for the first time it will get the image and keep it in cache for other clients for next 10 years, it wont even check if the image is updated for next 10 years and keep returning Date
header with value when it actually got the image from server.
Thanks for info
ReplyDeleteWeb Design Company in Bangalore
Website development in Bangalore