HTMLキャッシュマニフェスト(AppCache)を使用するWebサイトを開発しています。 Chromeのコンソールに次の行がよく表示されます:
Application Cache Error event: Manifest fetch failed (6) https://192.168.0.102/static/index.appcache
括弧内のエラーコードは、HTTPステータスコード、またはブラウザがオフラインの場合は-1
であるようです。しかし、私のサーバーはステータスコードとして6を返していません。それで、このコードは何を示していますか?
このエラーに関するChromeの動作は非常に奇妙です。 appcacheのクライアント側を(chrome://appcache-internals
経由で)削除してWebサイトを強制的に再ダウンロードすると、このエラーが頻繁に発生しますが、今回は既に実行中のダウンロードを妨げずに中断します。 2回目の更新は正常に機能します。
この問題は、キャッシュマニフェストの新しいバージョンがあるかどうかに関係なく発生するため、Chromeのappcacheの更新が難しくなります。この問題は、IE 11では発生しません。
この開発段階では、自己署名証明書でTLSを使用しています。 appcacheマニフェストのHTTP応答ヘッダーはHTTP/1.1 200 OK Accept-Ranges: bytes Cache-Control: no-cache, must-revalidate Content-Encoding: gzip Content-Type: text/cache-manifest; charset=utf-8 Expires: -1 Last-Modified: Fri, 11 Apr 2014 07:49:30 GMT Pragma: no-cache Vary: Accept-Encoding Date: Fri, 11 Apr 2014 07:51:38 GMT Content-Length: 480
です
Chromeソースコードを見ると、これらの数字6、9、または同様のものは列挙型の注文番号です。 6の場合はNETWORK_ERROR
、9の場合はSECURITY_ERROR
です。
ここにソースがあります 指定されたエラーがSERVER_ERROR
である場合、応答コードを配置しますが、SERVER_ERROR
でない場合、エラーを列挙値にマップします。 この列挙型はここで定義されています とコードは次のとおりです。
UPDATE_OK
(0)DB_ERROR
(1)DISKCACHE_ERROR
(2)QUOTA_ERROR
(3)REDIRECT_ERROR
(4)MANIFEST_ERROR
(5)NETWORK_ERROR
(6)SERVER_ERROR
(7)CANCELLED_ERROR
(8)SECURITY_ERROR
(9)NUM_UPDATE_JOB_RESULT_TYPE
S(10)正直なところ、サーバーが302を送信しているときは4、証明書が間違っているときは9、6だけを見ましたが、ここではまだ全体の問題を理解していません。
それでもこの問題が発生する場合は、確認してください...
Chrome v38.0.2125.111 mでアプリケーションキャッシュを使用すると、まったく同じ問題が発生しました。いくつかの異なるマニフェスト構成を試しましたが、最終的にChromeを閉じて、再度開きました。ねえ、問題はなくなり、キャッシュは正常に機能しました!これが誰かを助けることを願っています!