Je sers du contenu statique destiné à être mis en cache par le navigateur indéfiniment. Chrome le cache comme prévu, mais passe toujours du temps à le "télécharger". J'utilise Chrome 46.0.2490.71.
Comme vous pouvez le constater, le contenu est servi à partir du cache, mais le téléchargement du contenu prend toujours 68 ms. Cela provoque le clignotement des images svg lors du chargement de la page chaque, même si le fichier est mis en cache.
Voici les informations de scénario pertinentes d'un chargement de page en mode navigation privée:
Les champs "Durée totale" et "Durée de l'événement" pour chacun de ces événements sont nuls. En répliquant cela avec le fichier servi localement (mais toujours à partir du cache), l'événement "Receive Data" n'est vu qu'une seule fois.
Quelques points intéressants à noter:
Quelles causes possibles pourrait-il y avoir?
Cela a donc à voir avec le fonctionnement de la mise en cache dans Chrome. Je n'ai pas d'expérience personnelle avec le code de base de Chrome, mais j'en connais un peu la théorie. (J'ai également trouvé ici une référence à l'implémentation du cache de Chrome pour les plus curieux: cache disque chrome )
Pour référence, voici une capture d'écran de mon chargement de votre question de dépassement de capacité dans Chrome lorsque le panneau Réseau est ouvert et que l'option Limitation du réseau est définie sur "Hors ligne". Notez que chaque entrée de cette liste provient du cache!
Vous remarquerez également que Chrome passe du temps à "télécharger" tous les fichiers. Pourquoi est-ce? Eh bien, le cache de Chrome est une base de données, et cette base de données est également compressée pour économiser de l'espace. Lorsque vous récupérez un document à partir de la mémoire cache, le prix de cette récupération n'est pas nul. Chrome doit rechercher l'élément dans la base de données de cache, puis gonfler cette entrée dans la mémoire pour que Chrome puisse l'utiliser. Je ne connais pas les détails exacts de la façon dont le panneau Réseau chrome-dev-tools affiche les heures, mais je suppose que récupérer ce fichier à partir du disque, le décompresser, puis analyser et utiliser le résultat correspond à ce que vous voyez. reflété dans "Temps téléchargé".
Je ne peux pas dire pourquoi d'autres navigateurs n'ont pas ce délai, car je n'ai pas beaucoup d'expérience avec eux. Il se peut qu’ils utilisent une méthode plus efficace pour extraire des éléments du cache (possible), ou qu’ils gardent le cache en mémoire à tout moment (improbable) ou qu’ils omettent certaines des vérifications de l’intégrité. Chrome rend les données en cache (possible)
Je suis tombé sur le même problème. J'ai mis en œuvre la fonctionnalité de téléchargement PDF. En cliquant sur le lien de téléchargement, la réponse a pris environ 260 ms, mais le téléchargement commence après 10 secondes sur Chrome.
FIX: - J'ai analysé que mon système Windows était en 64 bits et mon chrome en 32 bits. Après la mise à niveau de la version 64 bits de chrome, le problème était résolu .. J'ai trouvé une solution à l'adresse suivante: https://bugs.chromium.org/p/chromium/issues/detail?id=103737
Lorsque je passe l'en-tête ("Content-Length: xxx"), il se charge 100% plus vite!
J'ai rencontré un "problème" similaire. Cependant, le décalage inattendu a disparu une fois que j'ai chargé ma page (avec ses dépendances "lent à récupérer à partir du cache disque") dans une fenêtre de navigation privée avec DevTools fermé. Cela me suggère que le problème était dû à des interférences provenant d'une extension Chrome ou de la fenêtre de DevTools.
J'ai eu le même problème, le téléchargement depuis le cache a pris une éternité ... Le problème était que mon fichier avait une taille de gzip de 410 Ko (ce qui est déjà énorme) Décompressé il a une taille de 1,5 Go, donc le navigateur utilisé tellement de temps pour le charger à partir du cache puis le décompresser.
Avec les derniers outils de développement chromés, vous voyez également la taille décompressée: