Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mise en cache côté client

0 views
Skip to first unread message

Olivier Masson

unread,
Oct 22, 2009, 3:51:49 AM10/22/09
to
Bonjour,

J'ai du mal � cerner comment peut fonctionner une vraie bonne mise en
cache c�t� client.

Pourquoi le simple m�canisme Last-Modified n'est-il pas suffisant ? Et
comment fonctionne-t-il ? Je viens de modifier 2 photos sur un site et
la prise en compte par FF et IE a �t� curieuse : d'abord une qui change
(apr�s un double refresh), puis l'autre apr�s un clic de plus.

Si je mets un /far future Expires header/ sur js, css et images, que se
passera-t-il si je modifie un de ces fichiers ? Il faut forc�ment leur
donner un num�ro de version (dans le cadre d'un album photo, c'est ok
puisque les photos portent un nom, mais c'est autre chose pour le design) ?

Il y a bien les E-Tag pour cela, mais j'ai lu a de multiples reprises
que �a ralentissait pas mal le serveur et posait des probl�mes (j'ai
oubli� lesquels) par ailleurs.

Alors si vous avez connaissances et exp�riences en la mati�re, je prends
volontiers vos conseils :)
Merci.

SAM

unread,
Oct 22, 2009, 5:09:39 AM10/22/09
to
Le 10/22/09 9:51 AM, Olivier Masson a �crit :

> Bonjour,
>
> J'ai du mal � cerner comment peut fonctionner une vraie bonne mise en
> cache c�t� client.

Comme d'hab on rappelle :
<http://www.mnot.net/cache_docs/index.fr.html>

> Pourquoi le simple m�canisme Last-Modified n'est-il pas suffisant ? Et

Usuellement �a l'est.
Normalement, pour tout fichier � charger, le navigateur envoie un
questionnement � propos de la derni�re modif du fichier et devrait
charger celui-l� s'il est plus r�cent que celui en cache.

> comment fonctionne-t-il ? Je viens de modifier 2 photos sur un site et

Et bien s�r ton ordi est exactement � la m�me heure que le serveur ?
Y a pas de cache c�t� serveur et des histoires de sessions ?

> la prise en compte par FF et IE a �t� curieuse : d'abord une qui change
> (apr�s un double refresh), puis l'autre apr�s un clic de plus.

� mon sens, au lieu d'un refresh il vaut mieux assurer le coup en
re-validant l'url (clic dans barre adresse et touche retour) afin de
recharger la page.

> Si je mets un /far future Expires header/ sur js, css et images, que se

Je sais p� c'que c'est.
Bon ... est-ce vraiment une bonne id�e de tenter de limiter la mise en
cache dans le temps ?

> passera-t-il si je modifie un de ces fichiers ? Il faut forc�ment leur
> donner un num�ro de version (dans le cadre d'un album photo, c'est ok
> puisque les photos portent un nom, mais c'est autre chose pour le design) ?

Quoi le design ?
Les images incluses dans la feuille de style ?
� mon id�e, il faut re-uploader le fichier css en plus d'avoir modifi�
le design d'une image appel�e par css et qui n'a pas chang� de nom.

> Il y a bien les E-Tag pour cela, mais j'ai lu a de multiples reprises
> que �a ralentissait pas mal le serveur et posait des probl�mes (j'ai
> oubli� lesquels) par ailleurs.

Ben alorsse si c'est pour rafraichir une image (genre pub) il y a
toujours le JS

<body onload="var i=document.getElementById('pub');
i.src = i.src+'?'+Math.random();">

<body onload="var i=document.getElementById('pub'),d = new Date();
i.src = i.src+'?'+d;">

> Alors si vous avez connaissances et exp�riences en la mati�re, je prends
> volontiers vos conseils :)

Comme on n'a pas essay� avec toi on a fait ce qu'on a pu ;-)

--
sm

yamo'

unread,
Oct 22, 2009, 6:03:11 AM10/22/09
to
Salut,

Olivier Masson a tapot�, le 22/10/2009 09:51:


> Bonjour,
>
> J'ai du mal � cerner comment peut fonctionner une vraie bonne mise en
> cache c�t� client.
>
> Pourquoi le simple m�canisme Last-Modified n'est-il pas suffisant ? Et


Pourquoi, je ne sais pas mais, pour �tre sur que le navigateur prenne en
compte le nouveau fichier, le meilleur moyen que j'ai trouv�, c'est de
changer le nom du fichier.
Par exemple en ajoutant un param�tre bidon sur toutes les URL d'appel de
fichiers, param�tre qui serait mis � jour lors de la modification d'un
fichier, j'ai l'impression que drupal6 fait �a.


--
St�phane
<http://pasdenom.info/fortune>
On construit des maisons de fous pour faire croire � ceux
qui n'y sont pas enferm�s qu'ils ont encore la raison.
-+- Michel de Montaigne -+-

SAM

unread,
Oct 22, 2009, 6:34:36 AM10/22/09
to
Le 10/22/09 11:09 AM, SAM a �crit :

> Le 10/22/09 9:51 AM, Olivier Masson a �crit :
>
>> la prise en compte par FF et IE a �t� curieuse : d'abord une qui
>> change (apr�s un double refresh), puis l'autre apr�s un clic de plus.
>
> � mon sens, au lieu d'un refresh il vaut mieux assurer le coup en
> re-validant l'url (clic dans barre adresse et touche retour) afin de
> recharger la page.

Ha! Ben bon ! c'est le contraire
(Firefox)

--
sm

Olivier Masson

unread,
Oct 23, 2009, 3:05:59 AM10/23/09
to
SAM a �crit :

> Le 10/22/09 9:51 AM, Olivier Masson a �crit :
>> Bonjour,
>>
>> J'ai du mal � cerner comment peut fonctionner une vraie bonne mise en
>> cache c�t� client.
>
> Comme d'hab on rappelle :
> <http://www.mnot.net/cache_docs/index.fr.html>
>

Oui mais cette doc indique ce qui devrait se passer normalement. Et ce
que je constate ne colle pas.

>> Pourquoi le simple m�canisme Last-Modified n'est-il pas suffisant ? Et
>
> Usuellement �a l'est.
> Normalement, pour tout fichier � charger, le navigateur envoie un
> questionnement � propos de la derni�re modif du fichier et devrait
> charger celui-l� s'il est plus r�cent que celui en cache.
>
>> comment fonctionne-t-il ? Je viens de modifier 2 photos sur un site et
>
> Et bien s�r ton ordi est exactement � la m�me heure que le serveur ?
> Y a pas de cache c�t� serveur et des histoires de sessions ?
>

Du tout. Pas de mise en cache, pas de sessions et adresse tap�e dans un
nav fraichement ouvert.
Oui, m�me heure (serveur ntp).
Et pourquoi il mettrait UNE photo � jour et pas l'autre ?
M�me comportement sur un autre ordi (Safari Mac).

>> Si je mets un /far future Expires header/ sur js, css et images, que se
>
> Je sais p� c'que c'est.
> Bon ... est-ce vraiment une bonne id�e de tenter de limiter la mise en
> cache dans le temps ?
>

La doc de mnot en parle :
"If a resource (especially a downloadable file) changes, change its
name. That way, you can make it *expire far in the future*, and still
guarantee that the correct version is served; the page that links to it
is the only one that will need a short expiry time"

Et c'est la technique la plus commune (puisqu'elle fonctionne). Quand je
dis commune, je parle de sites "pro".
Je veux bien utiliser �a, mais je ne vois pas pourquoi je dois utiliser
�a plut�t qu'un Last-Modified.

>
> Ben alorsse si c'est pour rafraichir une image (genre pub) il y a
> toujours le JS

non merci :)

Olivier Masson

unread,
Oct 23, 2009, 3:09:54 AM10/23/09
to
yamo' a �crit :

>
> Pourquoi, je ne sais pas mais, pour �tre sur que le navigateur prenne en
> compte le nouveau fichier, le meilleur moyen que j'ai trouv�, c'est de
> changer le nom du fichier.
> Par exemple en ajoutant un param�tre bidon sur toutes les URL d'appel de
> fichiers, param�tre qui serait mis � jour lors de la modification d'un
> fichier, j'ai l'impression que drupal6 fait �a.
>
>
>
>

Oui, c'est la technique du /far future Expires header/ qui est la seule
que j'ai effectivement vu fonctionner � coup s�r.
Si Drupal le fait, c'est donc probablement que la solution classique ne
fonctionne pas ou peu (si �'avait �t� joomla, je n'y aurais pas autant
cru :))

0 new messages