Tag: nshttpurlresponse

iPhone 5 vs 5s的NSHTTPURLResponse不同

这是我见过的最奇怪的事情。 我有一个iPhone 5和iPhone 5s,都在iOS 7.1.2,完全干净。 我运行下面的代码: NSString *userAgent = @"Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"; NSURL *url = [NSURL URLWithString: deviceString]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url]; [request setValue:userAgent forHTTPHeaderField:@"User-Agent"]; NSHTTPURLResponse *response = nil; NSError *error = nil; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; […]

如何使用NSURLSession来确定资源是否已经改变?

我正在使用NSURLSession从HTTP服务器请求JSON资源。 服务器使用Cache-Control来限制资源在客户端上的caching时间。 这很好,但我也想caching反序列化的JSON对象,因为它经常被访问,同时继续利用NSURLSession中内置的HTTPcaching机制。 我想我可以保存一些HTTP响应头: Content-MD5 , Etag和Last-Modified与反序列化的JSON对象(我使用这3个字段,因为我注意到并不是所有的HTTP服务器都返回Content-MD5 ,否则这本身就足够了)。 下一次我收到JSON对象的响应,如果这3个字段是相同的,那么我可以重用先前反序列化的JSON对象。 这是一个强大的方式来确定被取消的JSON仍然有效。 如果不是,我该如何确定反序列化的对象是否是最新的?