2015-01-06 1 views
0

인증을 위해 "Authorize"헤더를 사용하고 캐싱이 보이지 않는 PUT 요청에 대한 응답을 캐시하기 위해 OkHttp를 사용하고 있습니다.OkHttp는 요청 헤더에 승인이있는 게시물 응답을

안드로이드 클라이언트 코드는 다음과 같이 캐시를 설정합니다

INT CACHESIZE = 10 * 1024 * 1024; // 10 MiB

캐시 = 새 캐시 (context.getCacheDir(), cacheSize);

client.setCache (cache);

캐시 제어 :

내 서버에 응답 공공,있는 maxage = 60, S-있는 maxage =

내가 캐시 로그 (60), getRequestCount() 증가하지만 캐시에는 조회수 나 URL이 없습니다.

내가 뭘 잘못하고 있는지 아는 사람이 있습니까?

감사합니다.

+0

2.2를 사용하고 있습니까? 캐시 정책이 최근에 변경되었습니다. –

+0

안녕하세요 제시 - 네, 최신 2.2 사용하고 있습니다. 응답 캐싱은 POST가 아니라 GET에서만 작동합니다. – Martin

+0

예. 응답 캐싱은'GET '에서만 작동합니다. –

답변

0

GET 응답 만 캐시되므로 내 수정 프로그램이 GET으로 변환되었습니다. OkHttp Cache.java에서 -

if (!requestMethod.equals("GET")) { 
    // Don't cache non-GET responses. We're technically allowed to cache 
    // HEAD requests and some POST requests, but the complexity of doing 
    // so is high and the benefit is low. 
    return null; 
}