J'essaie de tester le comportement de mon site en supposant que le cache de disque local est vide. Je sais qu'il existe des moyens d'effacer le cache et de faire Ctrl-F5, etc. à chaque fois, mais il y a aussi une case à cocher "Désactiver le cache" dans l'onglet Réseau qui semble être devrait faire ce que je recherche après .. c'est-à-dire désactiver le cache.
Mais, lorsque j'efface le cache, active cette option et que F5 recharge mon site plusieurs fois, voici ce que je vois:
La ressource a été mise en cache et est servie à partir du cache, même si "désactiver le cache" est activé! Alors, que fait cette option?
MODIFIER
Peut-être que ce comportement que je constate concerne uniquement la mise en cache de scripts de service worker? Si vous chargez cette page (un exemple lié à ce guide aux ouvriers du service), au moins pour moi le fichier sw.js
est récupéré à partir de la mémoire cache du disque même avec l'option "désactiver la mémoire cache" activée.
Question interessante!
Dans la capture d'écran que vous avez fournie, la colonne Name est coupée. Par conséquent, je ne peux pas dire quelle ressource est encore servie à partir du cache disque. Je suppose que c'est un script de service worker, basé sur la description de votre "EDIT".
La question à laquelle je répondrai alors est la suivante: "Comment les scripts du serveur de mise en cache du navigateur fonctionnent-ils?"
importScripts()
, ces scripts sont également stockés dans la base de données SW. Notez également que lorsqu'un navigateur de service est mis à jour, le navigateur remplace le script actuellement stocké dans la base de données SW par le nouveau script. Ceci est la mise en œuvre Chrome , d'autres navigateurs peuvent le faire différemment. 1(from disk cache)
. Idéalement, il devrait avoir un autre nom pour indiquer que ce cache n'est pas affecté par la case à cocher Disable Cache.Donc, dans ce cas, vous avez raison: la case à cocher Disable cache ne fait rien. Si vous voulez vous assurer que votre cache est complètement effacé (y compris les tâches de l'agent de service):
Alors que DevTools est toujours ouvert, appuyez longuement sur le bouton Reload de Chrome, puis sélectionnez Vider Cache et Hard Reload. Voir https://stackoverflow.com/a/14969509/1669860 pour une explication de ces différentes options.
1 J'ai reçu cette information d'Alex Russell, ingénieur Chrome et co-auteur de la spécification service worker
En plus de l'option de désactivation du cache, vous pouvez maintenant cliquer avec le bouton droit de la souris sur le volet réseau des outils de développement et choisir "Effacer le cache" dans le menu contextuel.
Vous pouvez également utiliser ce plug-in si vous devez effacer le cache fréquemment: https://chrome.google.com/webstore/detail/jpfbieopdmepaolggioebjmedmclkbap