問題タブ [nsurlrequestcachepolicy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - NSMutableURLRequest setCachePolicy は使用されません
私はNSURLMutableURLRequest
私が呼び出す場所を持っています
私がpoするとき[urlRequest cachePolicy]
、それは常に1です。
強制的に 1 を返すゲッターは何をしているのでしょうか?
ios - キャッシュ ポリシーによる UIWebView の奇妙な動作
私はこの問題を抱えていUIWebView
ます:
顧客はUIWebView
、ページをリロードしたときにサーバー上で更新されたコンテンツがデバイスに表示されなかったため、当社のキャッシュ ポリシーを確認するよう求めました。
ここで、 にNSURLRequest
渡している には が含まれていることがわかりUIWebView
ましcachePolicy
たNSURLRequestReturnCacheDataElseLoad
。これを正しく理解していれば、最初のリクエストのみがサーバーからロードされ、後続のリクエストはキャッシュからロードされます。
NSURLRequestUseProtocolCachePolicy
次に、NSURLRequest.h
ヘッダーで興味深いものNSURLRequestReloadRevalidatingCacheData
が「実装されていない」ことがわかったので、 cachePolicy を に変更しました。
以前のポリシーにロールバックするまでは、すべてがうまく機能しているように見えましたが、Charles がUIWebView
画面に消えてから再表示されるたびに、サーバーで新しい要求が行われ、結果のページに簡単な変更を加えることもできました。デバイスの変更を参照してください。
サーバーから返されるヘッダーは次のとおりです。
8 月 13 日 11:46 GMT+2 (ベルリン) に行われたリクエストの場合
だから私にはヘッダーはうまく見えますが、それでもUIWebView
毎回コンテンツをリロードしようとします。
webView:shouldStartLoadWithRequest:navigationType:
デリゲート メソッドも調べたところcachePolicy
、 のrequest
が常に 1 ( NSURLRequestReloadIgnoringLocalCacheData
) に設定されていることがわかりました。
これはどのように可能ですか?また、顧客が問題について不平を言った可能性もあります(彼は私にスクリーンショットを送ってくれたので、これは発明ではありません)
ご協力ありがとうございました
objective-c - cachePolicy が NSURLCacheStorageNotAllowed であっても NSMutableURLRequest が古い値を返す
ここに投稿されたコードを使用しています:
connectionDidFinishLoadingの接続解放メソッドでエラーが発生します
最初の実行で didFail ログが返されるようになりました。2 回目の実行。古い応答データを返します。私の(localhost)サーバーは完全にオフラインですが。cachePolicy は NSURLCacheStorageNotAllowed です (上に投稿したリンクのコードを確認してください)
応答データはどこかにキャッシュされているようで、まだ存在しています。
しかし、私が NSURLRequestReloadIgnoringLocalAndRemoteCacheData を使用する場合 //これは -実装されていません - とコメントされています
古いキャッシュを返しません。
しかし、もしそうなら、次の違いは何ですか:
NSURLRequestReloadIgnoringLocalAndRemoteCacheData
と
NSURLCacheStorageNotAllowed
何をすればよいでしょうか ?
ios7 - NSURLRequest の NSURLRequestCachePolicy にはどの値を使用すればよいですか?
NSURLRequest +requestWithURL:cachePolicy:timeoutInterval: キャッシュ ポリシーがあります。
XCode5 のドキュメントには、4 つの定数を持つ列挙型がリストされており、そのすぐ下に 7 つの異なる定数がリストされています。ドキュメントに一貫性がありません。どのオプションが機能し、どのオプションを使用する必要がありますか?
ios - NSURLRequest のキャッシュへの書き込みを停止する
NSURLRequest を使用して 1 秒あたり数百の HTTP 要求を送信する iOS アプリがあります。常にWiFi経由なのでパフォーマンスは良好で、コンテンツは応答ごとに異なるため、次の方法でキャッシュを無効にしましたNSURLRequestCachePolicy.ReloadIgnoringLocalCacheData
:
ただし、NSURLRequest
まだデータをディスクに書き込んでいます — わずか数分で数百メガバイト。
私のアプリはデータ監視用であり、一度に数時間実行されたままになる可能性があるため、これは特に懸念されます.NSURLRequestは毎秒何百回もディスクに書き込みます...これらの条件下でフラッシュメモリが消耗する可能性があることを懸念しています. 、ウェアレベリングがあると思いますが。
NSURLRequest
キャッシュ データのディスクへの書き込みを停止するにはどうすればよいですか?
ios - [NSURLCache cachedResponseForRequest:] はどのようにマッチングを行いますか?
NSURLCache は、要求に対する応答がキャッシュされていることをどのように判断しますか? 2 つの NSURLRequests の等価性がどのように定義されているか、またはそれらがどのようにハッシュされているかは明確ではありません。
ios - キャッシュ ポリシーを使用した AFHTTPSessionManager が機能しない
サーバーは応答としてキャッシュ ヘッダーを送信します。
"Cache-Control": "max-age=120, public"
まず、AFHTTPRequestOperation で NSURLRequestReturnCacheDataElseLoad を使用しました。
AppDelegate で共有キャッシュを設定し、NSUrlRequest で NSURLRequestReturnCacheDataElseLoad を設定します。
うまくいきました。
しかし、次の方法で NSURLRequestReturnCacheDataElseLoad を設定して AFHTTPSessionManager で同じことをしようとしたとき、
1.request.session.configuration.requestCachePolicy _
2.request.requestSerializer.cachePolicy _
3.Overriding -(NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request completionHandler:(void (^)(NSURLResponse *, id, NSError *))completionHandler
何も機能していないようです。
AFNetworking バージョン - 2.5.1