2014-11-05 2 views
0

OKHttp의 기본 캐시로 데이터를 캐싱하려고합니다. 내 문제는 내가 서버 측 데이터를 제어 할 수 없다는 것이며, 응답 헤더 Cache-Control이 "no-cache"값으로 돌아오고 있다는 것이다.OKHttp로 데이터 캐싱

OkHttp를 사용하여 다시 오는 데이터를 캐시하기 위해 헤더를 추가하라는 요청을 가로 챌 수 있습니까? (가능한 경우 특정 요청을 캐시하고 싶습니다.)

감사합니다. 최고 감사합니다, 크리스토퍼 스티븐

답변

1

OkHttp는 현재 Cache-Control: no-cache을 (를) 물리 칠 수있는 메커니즘을 제공하지 않습니다. OkHttp는 서버에 대한 응답의 유효성을 검사하게 될 것이지만, 서버가 저장된 응답이 여전히 양호하다고 응답하면 응답 본문을 다시 전송할 필요가 없습니다.

하나의 요청이 여러 응답을 의미 할 수 있기 때문에 어려울지라도 이와 비슷한 것을 원하는 feature request 뛰어난 제품이 있습니다.

+0

감사합니다. 나는 응답을 얻은 후 서버 개발자에게 일을 올바르게 캐싱하거나 내부 캐시 메커니즘에 의존해야 할 것입니다. – chocospaz

0

다른 사람이 18 개월 만에 늦어지는 경우를 대비하여 ... 이제는 인터셉터를 네트워크 인터셉터로 추가하여 Cache-Control: no-cache을 "패배"할 수 있습니다. 따라서 OkHttp가 처리하기 전에 서버 응답을 업데이트합니다.

OkHttp 위키에는 https://github.com/square/okhttp/wiki/Interceptors#rewriting-responses이라는 좋은 예가 있습니다.

희망이 도움이됩니다.