ホーム画面に保存されたモバイル Web アプリがあります。このアプリケーションは、jquery モバイルで単一ページの HTML ファイルを使用してコーディングされています。
iOS5 以下では、index.html ファイルはデバイスによってキャッシュされないため、アプリケーションが起動されるたびに、デバイスは HTML ページを要求します。サーバーの前に認証を処理する別のアプリケーションがあり、リダイレクトを認証させる 302 http コードに依存しているため、これは非常に重要です。これが成功すると、別のリダイレクトが発生して index.html ページに戻ります。
iOS6 では、no cache コントロール ヘッダーを設定しても、index.html ファイルがキャッシュされているように見えます。これは問題です。認証を取得できないため、ユーザーがアプリケーションの使用を開始すると、すべての要求が失敗します (認証されていない)。
これが iOS6 で実装された機能であったかどうかの詳細を見つけることができないようです。誰でもこれに光を当てますか?彼らがキャッシング(投稿応答のキャッシング)に少し夢中になったことは知っています...
注: 認証の解決策は理想的ではないことを理解してください。ただし、現時点では変更できません。Apple がこのバグを引き起こした原因についての参照を探しているだけです!
アップデート:
サーバーが応答しているCharles Web Debugging Proxyを使用した後、興味深いことを発見しましCache-Control:private
た。つまり、プロキシはキャッシュされませんが、ブラウザはキャッシュされます。これにより、iOS 6 のホーム画面のモバイル Web アプリが実際にこのキャッシュ制御を正しく扱うようになったのかという疑問が生じます?!? インフラストラクチャのどのハードウェアがこのキャッシュ制御を追加しているかをさらに調査する必要があります。