Some weird things seem to happen with NSURLRequest when used with NSURLRequestUseProtocolCachePolicy :

The documentation I've found about "Conditional GET" in the web says I should be sending "If-Modified-Since" and "If-None-Match" headers with the contents of "Last-Modified" and ETag" headers from the last server's answer. However it doesn't look like a NSURLRequest with a NSURLRequestUseProtocolCachePolicy is adding the "If-None-Match" header. Fortunately it adds the "Last-Modified" header automatically so I've tweaked my server-side to be able to work just with this header for caching.

Is this a bug in NSURLRequestUseProtocolCachePolicy ?

When debugging the status in the "connection:didReceiveResponse:" delegate method the statusCode is always 200. I knew for sure than in fact it was being cached so I ran "tcpdump" and I saw that except the first call the rest were always Status Code 304 Not Modified. Why I can't see what I really get from the server in my code?

- (void)connection:(NSURLConnection *)connection didReceiveResponse: (NSURLResponse *)response;
  NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
  int statusCode = [httpResponse statusCode];
  NSLog(@"StatusCode: %d", statusCode);
// ...


Cocoa-dev mailing list (

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)

Help/Unsubscribe/Update your Subscription:

This email sent to [EMAIL PROTECTED]

Reply via email to