HTTPResponseCache
アプリに組み込まれている (API 経由でリクエストを行う) を使用しようとしていますが、ヘッダーを含めてHTTPURLConnection
リクエストされた応答をキャッシュするのに問題があります。Authorization
応答をキャッシュする唯一の方法は、サーバーの応答ヘッダーに「パブリック」を明示的に配置することです(これも機能する可能性がありますが、試していませんが、明示的に結果をキャッシュに入れません)。しかし、これは、中間プロキシが応答をキャッシュして他のクライアントに提供することを意味します。これは私が望んでいることではありません。Cache-Control
s-maxage
private
私の理解では、ユーザーエージェントキャッシュはAuthorization
、デフォルトでヘッダーまたはヘッダーで要求された応答をキャッシュしますprivate
。HTTPResponseCache
は、ユーザー エージェント キャッシュではなく、ヘッダーの解釈方法において共有キャッシュのように動作しているようです。または、キャッシング標準に関する私の理解は正しくありませんか?
キャッシュをユーザー エージェントの HTTP キャッシュのように動作させる方法はありますか?
これは私のインストールコードで:
public static void setupCache(Context context, long httpCacheSize){
File httpCacheDir = new File(context.getCacheDir(),"http");
HttpResponseCache.install(httpCacheDir, httpCacheSize);
}
ここで何か違うことをする必要がありますか?それとも、リクエストにユーザー エージェント情報を含める必要があるのでしょうか?