3

ブラウザーは Application Cache マニフェスト ファイルの要求をどのように実装していますか? また、他のファイルの要求方法とは異なりますか?

IIS 7 で Windows/NTLM 認証を使用すると、予期しない動作が発生するので質問します。状況は、マニフェスト ファイルが定義されたサイトを持っていることです。匿名認証を使用すると、すべてが期待どおりに機能します。サイトが読み込まれ、オフラインで利用できます。

匿名を無効にして Windows 認証を有効にすると、サイトは認証後に正常に読み込まれますが、マニフェスト ファイルをフェッチできなかったというエラーがコンソール (Chrome または iPad 2) に表示されます。

iPad では、アプリケーション キャッシュ ファイルを取得できなかったというエラーが表示されます。Chrome では、特定のエラーは「Application Cache Error event: Manifest fetch failed (401)」です。両方のインスタンスの Web サーバー ログに 401 応答コードが表示されます。

この動作が予期しないように見える理由は、他のすべてのリソース (CSS、JavaScript、画像) に対する要求がすべて期待どおりに機能するためです。また、.appcache ファイルを参照して読み込むこともできます。

誰が何が起こっているのか説明できますか?

他の誰かがこれに遭遇し、解決策を見つけましたか?

4

3 に答える 3

1

これがまだ関連しているかどうかはわかりませんが、私もこの問題を抱えています。

私のサイトは AJAX リクエストを作成するため、ページが読み込まれると、リクエストを実行するための資格情報を求められます。これが発生すると、実行するapplicationCache.update()と、アプリケーション キャッシュが正しく更新されます。

したがって、回避策として、ユーザーが資格情報の入力を求められるように何かに AJAX リクエストを送信してから、 を呼び出してみてapplicationCache.update()ください。

于 2013-05-20T15:31:05.180 に答える
0

私もこの問題に遭遇しました。説明どおりですが、Apacheで基本認証を使用しています。mainfestファイルを公開してみます。

于 2012-03-09T19:40:55.700 に答える
0

私はそれが古い質問であることを知っていますが、ここに私を導いたのとまったく同じ問題がありました。

私の設定は次のとおりです:
サーバー-IIS8
認証-Windows
匿名認証-有効(これにより、認証に関係なく動的マニフェストを取得できるようになりました。その後、他のすべてのコントローラーを で装飾する必要がありました[Authorize]

上記の設定により、アプリケーションは適切にキャッシュされますただし、キャッシュからロードするときに、マニフェストに更新があった場合、ユーザーが「ログイン」していないため、特定のセクション (承認されたコンテンツなど) がフェッチされず、更新全体が失敗することさえありました。

私の解決策は、許可されたリソースへの ajax 呼び出しを追加することでした。この方法では、ユーザーがオンラインのときにログインするように求められます。つまり、次回キャッシュが更新されたときに再度許可されます。

于 2014-01-14T04:07:21.867 に答える