2009-07-28 7 views
13

Comment vérifier si les images proviennent du cache ou du serveur. Depuis ma page d'accueil contient 45 images. Lorsque j'appuie sur F5, vous voulez savoir si les images proviennent du cache ou du serveur.Comment vérifier si les images proviennent du cache

J'avais ajouté <%@ OutputCache Duration='120' Location='Client' VaryByParam='none' %>

Répondre

10

Nouveaux visiteurs vont bien sûr pas des images mises en cache, alors qu'ils veulent aussi votre site à chargement rapide. Si vous testez les performances de votre site, effacez simplement votre cache.

S'il est juste pour le débogage:

  • Safari a un menu développeur, qui peut être activé dans les préférences. Ici, l'onglet Ressources de l'inspecteur Web affiche 0 ms lorsqu'un élément est chargé à partir du cache. En regardant les détails, vous verrez que l'en-tête de demande est manquant dans ces cas (bien que l'ancien en-tête de réponse puisse toujours être vu).
  • L'utilisation de Firefox avec le module complémentaire Live HTTP Headers vous montrera exactement ce qui est demandé au serveur. Si ce n'est pas demandé, il a été chargé à partir du cache. (Dans ce cas, rien est demandé, même pas en utilisant un en-tête If-Modified-Since.)
  • Firefox avec le Firebug add-on installé, vous donne l'onglet Net, mais quand cela est activé Firefox toujours demande tout le contenu à nouveau, même si vous ne cliquez pas sur Actualiser mais que vous suivez juste quelques liens (donc toujours en utilisant un en-tête If-Modified-Since, voir ci-dessous). Cela vous montrera toujours "Non Modifié". Une version allégée de Firebug est également disponible pour Internet Explorer.

Notez que frapper F5/Actualiser fera la plupart des navigateurs toujours demander au serveur si quelque chose a changé pour le contenu que le navigateur déjà mis en mémoire cache, même si elle sait que le cache doit toujours être valide. La demande comprendra alors un en-tête If-Modified-Since. Si le serveur indique qu'il n'est pas modifié, le cache est utilisé. Comme:

GET /ga.js HTTP/1.1 
Host: www.google-analytics.com 
... 
If-Modified-Since: Mon, 22 Jun 2009 20:00:33 GMT 
Cache-Control: max-age=0 

HTTP/1.x 304 Not Modified 
Last-Modified: Mon, 22 Jun 2009 20:00:33 GMT 
Date: Sun, 26 Jul 2009 12:08:27 GMT 
Cache-Control: max-age=604800, public 
Server: Golfe 

Ce qui précède est différent de la simple navigation sur un site. Lorsque vous cliquez sur des liens ou lorsque vous revenez sur une page plus tard (en tapant l'adresse, les signets, le résultat de la recherche, ...), un navigateur utilisera simplement le cache s'il est toujours valide, sans demander si quelque chose a changé.

(Notez également qu'un serveur proxy peut faire une mise en cache. Dans la réponse ci-dessus, la public dans le Cache-Control indique qu'un proxy peut en effet cache réponse spécifique.)

4

Vous pouvez déterminer ce billet depuis la fin du serveur simplement en regardant le journal des demandes traitées/délivrées pour les images,

+1

Ceci est une bonne réponse aussi - Si vous cherchez le% d'utilisateurs qui utilisent des images en cache vs des images tirées de votre serveur ou CDN, vous pouvez comparer le nombre de demandes de pages au nombre de demandes d'images. Si, par exemple, le nombre de demandes de pages est 2 fois supérieur au nombre de demandes d'images, environ la moitié de vos utilisateurs utilisent une image mise en cache. –

Questions connexes