GET 요청에서 ETag 캐싱을 구현하려고하는데 AFNetworking을 사용하여 전송하지만 AFNetworking REST API ~ ~ ~ 캐싱이있는 솔루션을 찾을 수없는 것 같습니다. GET/POST를 보내고 캐시를 제어하는 방법을 보여주는 예제 코드가 필요합니다. Xycom의 :/my.json HTTP/1.1 호스트에AFagetworking Rest API with Etag Caching
GET 경로/:
NSString *path = @"path/to/my.json";
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:self.baseNSURL];
[client registerHTTPOperationClass:[AFJSONRequestOperation class]];
[client setDefaultHeader:@"Accept" value:@"application/json"];
[client getPath:path
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"%@",responseObject);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@",error);
}
];
과 나가는 HEADER (NO 캐시 제어) : 내가 지금이 단지 요청하지 캐시입니다 : 80 수락 - 인코딩 : gzip을을 을 폐의 수락 : 응용 프로그램/JSON을 쿠키 : PHPSESSID = 35gojgf7s35n8fljlvd5pjudfn0 연결 : 연결 유지 수락 - 언어 : FR, 드, JA, NL, 그것은, ES, PT, PT, 욕실 -PT, da, fi, nb, sv, ko, zh-Hans, zh-Hant, ru, pl, tr, 영국, ar, hr, cs, el, he, ro, sk, th, -GB, ca, hu, vi, en-us; q = 0.8 사용자 에이전트 : myApp/1.0 (iPhone 시뮬레이터; iOS 6.1; Scale/1.00) X- Forwarded-For : 192.130.1.00
일부 코드를 표시 할 수 있습니까? 또한 각 etag에 대한 응답을 저장하기 위해 핵심 데이터를 사용해야합니까, 아니면 처리해야합니까? –
https://devcenter.heroku.com/articles/ios-network-caching-http-headers- 핵심 데이터에 아무것도 넣지 않아도됩니다. HTTP 헤더가 올바르게 설정되었는지 확인하십시오. –
링크를 제공해 주셔서 감사합니다. 튜토리얼처럼 내 애플 리케이션 델리게이트에 NSURLCache를 구현했다. 그러나 나는 여전히 내 응답 헤더에 etag을 얻지 못한다. 나는 서버가 etag를 제공한다는 것을 안다. 요청 헤더에 내용을 입력해야합니까? 그렇다면 무엇? 코드 라인은 링크보다 훨씬 유용합니다! 감사합니다 –