2017-05-16 2 views
1

私のサーバーレスポンスでキャッシュコントロールの制限が[private; max-age=15]に設定されています。しかし、15秒後でも、応答はキャッシュからロードされています。私はswift3 & Alamofire 4.0を使用しています。キャッシュコントロールの年齢制限を超過してもキャッシュから値が読み込まれる

var request = URLRequest(url: URL(string: urlStr)!) 
     request.timeoutInterval = 30 
     request.httpMethod = "GET" 
     request.addValue("private", forHTTPHeaderField: "Cache-Control") 
     request.cachePolicy = .returnCacheDataElseLoad 
     request.addValue("token", forHTTPHeaderField: "auth_key") 

     Alamofire.request(request).responseObject(completionHandler: { (response: Response) in { 
     print(response) 
     } 

答えて

0

キャッシングポリシーを変更する必要があります。かかわらず、その年齢や 有効期限の Appleのドキュメントには、読み込み

case returnCacheDataElseLoadは、既存のキャッシュされたデータは、 要求を満たすために使用することを指定し、。キャッシュに存在するデータが存在しない場合、要求に対応する が、元の ソースからロードされます。

出典:https://developer.apple.com/reference/foundation/nsurlrequest.cachepolicy

は、リストを見て、最善の政策があなたのためになるかを把握。私はそれをデフォルトのuseProtocolCachePolicyに設定することをお勧めします。

関連する問題