問題タブ [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.

0 投票する
1 に答える
1319 参照

ios - NSMutableURLRequest setCachePolicy は使用されません

私はNSURLMutableURLRequest私が呼び出す場所を持っています

私がpoするとき[urlRequest cachePolicy]、それは常に1です。

強制的に 1 を返すゲッターは何をしているのでしょうか?

0 投票する
1 に答える
1587 参照

ios - キャッシュ ポリシーによる UIWebView の奇妙な動作

私はこの問題を抱えていUIWebViewます:

顧客はUIWebView、ページをリロードしたときにサーバー上で更新されたコンテンツがデバイスに表示されなかったため、当社のキャッシュ ポリシーを確認するよう求めました。

ここで、 にNSURLRequest渡している には が含まれていることがわかりUIWebViewましcachePolicyNSURLRequestReturnCacheDataElseLoad。これを正しく理解していれば、最初のリクエストのみがサーバーからロードされ、後続のリクエストはキャッシュからロードされます。

NSURLRequestUseProtocolCachePolicy次に、NSURLRequest.hヘッダーで興味深いものNSURLRequestReloadRevalidatingCacheDataが「実装されていない」ことがわかったので、 cachePolicy を に変更しました。

以前のポリシーにロールバックするまでは、すべてがうまく機能しているように見えましたが、Charles がUIWebView画面に消えてから再表示されるたびに、サーバーで新しい要求が行われ、結果のページに簡単な変更を加えることもできました。デバイスの変更を参照してください。

サーバーから返されるヘッダーは次のとおりです。

8 月 13 日 11:46 GMT+2 (ベルリン) に行われたリクエストの場合

だから私にはヘッダーはうまく見えますが、それでもUIWebView毎回コンテンツをリロードしようとします。

webView:shouldStartLoadWithRequest:navigationType:デリゲート メソッドも調べたところcachePolicy、 のrequestが常に 1 ( NSURLRequestReloadIgnoringLocalCacheData) に設定されていることがわかりました。

これはどのように可能ですか?また、顧客が問題について不平を言った可能性もあります(彼は私にスクリーンショットを送ってくれたので、これは発明ではありません)

ご協力ありがとうございました

0 投票する
2 に答える
636 参照

objective-c - cachePolicy が NSURLCacheStorageNotAllowed であっても NSMutableURLRequest が古い値を返す

ここに投稿されたコードを使用しています:
connectionDidFinishLoadingの接続解放メソッドでエラーが発生します

最初の実行で didFail ログが返されるようになりました。2 回目の実行。古い応答データを返します。私の(localhost)サーバーは完全にオフラインですが。cachePolicy は NSURLCacheStorageNotAllowed です (上に投稿したリンクのコードを確認してください)

応答データはどこかにキャッシュされているようで、まだ存在しています。

しかし、私が NSURLRequestReloadIgnoringLocalAndRemoteCacheData を使用する場合 //これは -実装されていません - とコメントされています

古いキャッシュを返しません。

しかし、もしそうなら、次の違いは何ですか:
NSURLRequestReloadIgnoringLocalAndRemoteCacheData

NSURLCacheStorageNotAllowed

何をすればよいでしょうか ?

0 投票する
1 に答える
144 参照

ios7 - NSURLRequest の NSURLRequestCachePolicy にはどの値を使用すればよいですか?

NSURLRequest +requestWithURL:cachePolicy:timeoutInterval: キャッシュ ポリシーがあります。

XCode5 のドキュメントには、4 つの定数を持つ列挙型がリストされており、そのすぐ下に 7 つの異なる定数がリストされています。ドキュメントに一貫性がありません。どのオプションが機能し、どのオプションを使用する必要がありますか?

0 投票する
1 に答える
1572 参照

ios - NSURLRequest のキャッシュへの書き込みを停止する

NSURLRequest を使用して 1 秒あたり数百の HTTP 要求を送信する iOS アプリがあります。常にWiFi経由なのでパフォーマンスは良好で、コンテンツは応答ごとに異なるため、次の方法でキャッシュを無効にしましたNSURLRequestCachePolicy.ReloadIgnoringLocalCacheData

ただし、NSURLRequestまだデータをディスクに書き込んでいます — わずか数分で数百メガバイト。

私のアプリはデータ監視用であり、一度に数時間実行されたままになる可能性があるため、これは特に懸念されます.NSURLRequestは毎秒何百回もディスクに書き込みます...これらの条件下でフラッシュメモリが消耗する可能性があることを懸念しています. 、ウェアレベリングがあると思いますが。

NSURLRequestキャッシュ データのディスクへの書き込みを停止するにはどうすればよいですか?

0 投票する
1 に答える
887 参照

ios - [NSURLCache cachedResponseForRequest:] はどのようにマッチングを行いますか?

NSURLCache は、要求に対する応答がキャッシュされていることをどのように判断しますか? 2 つの NSURLRequests の等価性がどのように定義されているか、またはそれらがどのようにハッシュされているかは明確ではありません。

0 投票する
1 に答える
702 参照

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