9

iOS6 ajax POSTリクエストのキャッシュは、WebAppにとって大きな問題になりつつあります。ほとんどのユーザーがアプリをホーム画面に追加しています。アップグレード以降、バックエンドへのPOSTリクエストのほとんどが機能せず、6日以上前のデータが古くなっています。これを解決するための2つの回避策を認識しています。1つはタイムスタンプまたはランダムな入力を追加して異なるようにすべてのPOSTリクエストを変更すること、もう1つはウェブサーバーでのキャッシュを無効にすることです。

両方の回避策については、次の投稿で詳しく説明しています 。iOS6のSafariは$.ajaxの結果をキャッシュしていますか?

Webサーバーでキャッシュをオフにすると、iOS6のアップグレード前(または直後)に設定されていれば問題は解決します。ただし、アップグレード以降、ホーム画面に追加されたアプリからキャッシュをオフにするまでに行われたPOSTリクエストは、引き続きキャッシュされているようです。そして、それらをクリアする方法を見つけることができません。ホーム画面アプリを削除してデバイスを再起動しても、うまくいきません。唯一のオプションは、Webサーバーでのキャッシュをオフにすることに加えて、URLを変更するか、すべてのリクエストにタイムスタンプを追加することです。

工場に復元する以外に、ホーム画面のアプリのキャッシュをクリアする方法を知っている人はいますか?詳細を教えてください。

サーバーのキャッシュをオフにせずにリクエストにタイムスタンプを追加することで回避策を実装した人への警告。アプリがホーム画面に追加された場合、すべての投稿応答がキャッシュされ、有効期限が切れていないように見えます。誰かがそれをクリアする方法を持っていない限り、これは潜在的なメモリリークのように見えます!

4

1 に答える 1

1

私の経験では、このキャッシュの問題を一貫して解決する唯一の方法は、Google のアプローチを採用し、URL にリクエストごとの ID を追加することです。次に、サーバーに mod_rewrite または別のそのようなエンジンを使用して、これをバックエンド スクリプトに対して透過的にすることができます。

于 2012-10-05T14:10:00.700 に答える