Le 20 octobre 2012 18:25, Philippe Verdy <verd...@wanadoo.fr> a écrit :
> En fouillant un peu mieux, je constate en fait l'inverse : c'est
> l'affichage de la tuile dans un onglet séparé qui effectue la requête
> HTTP la plus riche :
>
> Request URL:http://a.layers.openstreetmap.fr/voirie-cadastre/7/67/44.png
> Request Method:GET
> Entêtes :
> GET /voirie-cadastre/7/63/45.png HTTP/1.1
> Host: b.layers.openstreetmap.fr
> Connection: keep-alive
> Cache-Control: max-age=0
> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4
> (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Referer: 
> http://layers.openstreetmap.fr/?zoom=7&lat=46.88444&lon=-1.68743&layers=B00FFFFFFFFFFFFFFFFFFT
> Accept-Encoding: gzip,deflate,sdch
> Accept-Language: fr,en-US;q=0.8,en;q=0.6
> Accept-Charset: UTF-8,*;q=0.5
> DNT: 1
> If-None-Match: "4ceeff3b43fdaeca2ff3ff59c6510421"
>
> alors que dans la page web la requête HTTP faite par OpenLayers ne
> contient que :
>
> Request URL:http://a.layers.openstreetmap.fr/voirie-cadastre/7/67/44.png
> Request Method:GET
>
> sans aucun autre entête.
>
> La réponse du serveur, même si c'est la même, est alors stockée dans
> le cache séparément puisque les résultats de ces requêtes dépendent
> (logiquement) de ces entêtes.
>
> Parmi les entêtes justifiant le stockage des deux versions de la tuile
> dans le cache du navigateur, il y a notamment tous ceux-là (ajoutés
> par le navigateur, mais pas par le framework OpenLayers dans ses
> requêtes dynamiques, mais dont il est tenu compte pour savoir si les
> versions doivent être séparées dans le cache du navigateur) :
>
> Cache-Control: max-age=0
> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4
> (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Referer: 
> http://layers.openstreetmap.fr/?zoom=7&lat=46.88444&lon=-1.68743&layers=B00FFFFFFFFFFFFFFFFFFT
> Accept-Encoding: gzip,deflate,sdch
> Accept-Language: fr,en-US;q=0.8,en;q=0.6
> Accept-Charset: UTF-8,*;q=0.5
> DNT: 1
>
> Dans ce cas, ce n'est pas réellement une anomalie du serveur de
> tuiles, ni du navigateur.

Réflexion faite, ce peut être considéré comme une anomalie du
navigateur (Chrome ici), quand lorsqu'on demande le rafraîchissement
complet de la page web contenant les diverses tuiles déjà affichées,
le navigateur n'invalide pas dans son cache les images qui sont
actuellement affichées dans la page avant son rafraîchissement (ce qui
forcerait aussi leur rechargement dans le cache) : il ne semble le
faire que pour les images dont les URLs étaient stockées statiquement
dans le code HTML de la page web, sans tenir compte du fait que ces
images ont été insérées dynamiquement par un javascript (celles-là ne
sont pas purgées du cache).

Je peux aller demander ça aux auteurs de Chrome pour voir si ce n'est
pas une anomalie à corriger (car c'est assez gênant qu'une demande de
rafraîchissement complet d'une page ne se fasse qu'en partie, mais
nécessite une purge préalable du cache du navigateur, alors que ce
cache contient encore des images obsolètes qui ne disparaîtront toutes
seules que très tardivement mais jamais par une demande simple de
l'utilisateur autre que la purge complète du cache).

Constatez-vous cette anomalie de rafraîchissement avec d'autres navigateurs ?

_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr

Répondre à