在服务器端,我设置了Cache-Control: max-age=14400。
从我的iOS客户端,我按如下方式设置了一个AFHTTPSessionManager共享实例:
+ (TKClient *)sharedInstance {
static TKClient *instance = nil;
static dispatch_once_t token;
dispatch_once(&token, ^ {
instance = [[TKClient alloc] initWithBaseURL:[NSURL URLWithString:kTKBaseUrl]];
[instance setRequestSerializer:[AFJSONRequestSerializer serializer]];
});
return instance;
我可以这样调用我的API:
- (void)listingsWithParams:(NSDictionary *)params completion:(void (^)(NSMutableArray *listings, NSError *error))completion {
[self GET:@"api/listings" parameters:params success:^(NSURLSessionDataTask *task, id responseObject) {
// success here
} failure:^(NSURLSessionDataTask *task, NSError *error) {
// error here
}];
我已经确认这个列表调用的Cache-Control头部从服务器端返回正常。然而,每次调用都要向服务器发送请求,明显没有进行缓存。你有什么思路吗?
我是否需要在iOS端配置其他内容或以某种方式更改Cache-Control头部?谢谢!