NSURLCache and ETags

Sirio picture Sirio · Feb 9, 2014 · Viewed 7.4k times · Source

Does NSURLCache transparently handle ETags received by server?

I mean: does it automatically store ETags for each URL request and then send the appropriate If-None-Match when a request to the same URL is submitted? Or do I have to manage it by myself?

Answer

Daij-Djan picture Daij-Djan · Feb 9, 2014

yes it does handle it transparently if you set its cache mode:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]
                                                           cachePolicy: NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval:60];

note: you cannot see the header in the request at all and if a 304 response is returned by the server you will only see the 200 response that it transparently loaded from the cache.