xhr = new XMLHttpRequest
xhr.open 'GET', 'http://127.0.0.1:8080/public/js/class/Map.js', false
xhr.send null
console.log xhr.getAllResponseHeaders()
J'obtiens sans vider le cache (statut 304)
Citation :X-Powered-By: Express
Date: Mon, 06 Aug 2012 14:46:21 GMT
Cache-Control: public, max-age=0
Last-Modified: Mon, 06 Aug 2012 12:40:55 GMT
Etag: "16747-1344256855000"
Content-Type: application/javascript
Accept-Ranges: bytes
Content-Length: 16747
Après avoir vidé le cache (statut 200)
Citation :X-Powered-By: Express
Date: Mon, 06 Aug 2012 14:47:39 GMT
Cache-Control: public, max-age=0
Last-Modified: Mon, 06 Aug 2012 12:40:55 GMT
Etag: "16747-1344256855000"
Content-Type: application/javascript
Accept-Ranges: bytes
Content-Length: 16747
Connection: keep-alive
Dans mon cas la présence de "Connection: keep-alive" peut donner une indication sur le statut donc, mais cela vient peut être de ma configuration de Express
Plus généralement pour éviter la mise en cache, on utilise le timestamping d'URL, c'est ce que fait l'option cache:false de jQuery qui donne une url de type 'http://url.com?' + Date.now()
Théoriquement le fichier est tout le temps mis en cache, sauf si le cache est plein ?
Le lien donné au début du topic c'est le même principe que le JSON Polling il me semble, on ajoute dynamiquement du contenu dans le head. Les fichiers sont mis en cache il me semble via cette méthode (à confirmer) comme pour la voie "classique" d'inclusion de fichiers JS.
Après quel intérêt de savoir si le fichier est en cache ou non ?