web-dev-qa-db-fra.com

Que signifie le code d'erreur Chrome (6) dans "Appcache fetch failed"?

Je développe un site Web qui utilise le manifeste de cache HTML (AppCache). Je vois souvent la ligne suivante dans la console de Chrome:

Application Cache Error event: Manifest fetch failed (6) https://192.168.0.102/static/index.appcache

Apparemment, le code d'erreur entre parenthèses est censé être le code d'état HTTP ou -1 si le navigateur est hors ligne. Mais mon serveur ne renvoie pas 6 comme code d'état. Alors qu'est-ce que ce code indique?

Le comportement de Chrome concernant cette erreur est très étrange. Si je l'oblige à télécharger à nouveau le site Web en supprimant le côté client appcache (via chrome://appcache-internals), cette erreur se produit souvent, mais cette fois, elle n'empêche pas mais n'interrompt qu'un téléchargement en cours d'exécution; la deuxième actualisation fonctionne alors bien.

Le problème se produit, qu'il y ait ou non une nouvelle version du manifeste de cache, ce qui complique la mise à jour de l'appcache de Chrome. Le problème ne se produit pas dans IE 11.

J'utilise TLS avec un certificat auto-signé pour cette étape de développement. Les en-têtes de réponse HTTP du manifeste appcache sont 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

4
pyramids

Si vous examinez le code source de Chrome, ces numéros 6, 9 ou similaires sont des numéros d’ordre enum. Dans le cas de 6, il s'agit de NETWORK_ERROR, dans le cas de 9, il s'agit de SECURITY_ERROR.

Voici source montrant que si l'erreur donnée est SERVER_ERROR, le code de réponse est mis, mais si ce n'est pas SERVER_ERROR il mappera son erreur sur la valeur enum, et - cette énumération est définie ici et les codes sont:

  • 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_TYPES (10)

Pour être honnête, je n'ai vu que 4 lorsque le serveur envoyait 302, 9 lorsque le certificat est erroné et 6, mais je ne comprends toujours pas tout le problème.

4
przemelek

Si vous rencontrez toujours ce problème, assurez-vous ...

  • Vous n'avez pas activé l'option "Google Chrome peut s'exécuter en arrière-plan".
  • Accédez à $ sysdrive $\Utilisateurs\$ votre compte $\AppData\Local\Google\Chrome\Données utilisateur\Default\Application Cache -> supprimer des fichiers et des dossiers
3
Barnabás Oláh

J'avais exactement le même problème lorsque j'utilisais le cache d'applications sur Chrome v38.0.2125.111 m. J'ai essayé plusieurs configurations de manifeste différentes, mais à la fin j'ai simplement fermé Chrome et je l'ai rouvert à nouveau. Hé hop, le problème a disparu et la cache fonctionnait bien! J'espère que cela aide quelqu'un!

3
siguy85