Performance "Add Expires headers"
8 messages
• Page 1 sur 1
- gotcha5832
- WRInaute discret

- Messages: 104
- Inscription: 22 Nov 2008
Performance "Add Expires headers"
Bonjour à tous,
Voilà je travaille sur la perf de mon site, et plusieurs outils dont Yslow me préconise "Add Expires headers"
Notamment sur mon css.
Sachant que j'uilise combine.php (rakaz.nl/code/combine) afin de rduire le nombre de requete ce qui me permet d'appeler
ndd.com/example/css1.css,css2.css
J'ai donc chercher dans le fameux fichier combine.php
header('Expires: '.date(DATE_RFC822,strtotime("+1 month")));
Ce qui me permet d'avoir un "Expires: Fri, 24 Dec 10 15:05:06 +0100" dans mon header.
Cependant Yslow me dit toujours "Add Expires headers"
Et j'ai le même souci sur un script qui genere des miniature à la volée, qui n'avais d'Expire dans son Header, à qui je l'ai rajouter, et Yslow me dis toujours "Add Expires headers"?
Auriez vous une idée?
Voilà je travaille sur la perf de mon site, et plusieurs outils dont Yslow me préconise "Add Expires headers"
Notamment sur mon css.
Sachant que j'uilise combine.php (rakaz.nl/code/combine) afin de rduire le nombre de requete ce qui me permet d'appeler
ndd.com/example/css1.css,css2.css
J'ai donc chercher dans le fameux fichier combine.php
header('Expires: '.date(DATE_RFC822,strtotime("+1 month")));
Ce qui me permet d'avoir un "Expires: Fri, 24 Dec 10 15:05:06 +0100" dans mon header.
Cependant Yslow me dit toujours "Add Expires headers"
Et j'ai le même souci sur un script qui genere des miniature à la volée, qui n'avais d'Expire dans son Header, à qui je l'ai rajouter, et Yslow me dis toujours "Add Expires headers"?
Auriez vous une idée?
-

Julia41 - WRInaute passionné

- Messages: 1765
- Inscription: 31 Aoû 2007
Re: Performance "Add Expires headers"
tu as quoi exactement comme header au complet ? Tu en as peut-être un autre qui bloque.
Perso, j'utilise la date en GMT.
Tu peux tenter aussi un :
Cache-Control: max-age=1296000
d'un mois bien entendu (enfin correspondant à ta durée).
Voilà mon header pour mon site "pro" pour une image :
Perso, j'utilise la date en GMT.
Tu peux tenter aussi un :
Cache-Control: max-age=1296000
d'un mois bien entendu (enfin correspondant à ta durée).
Voilà mon header pour mon site "pro" pour une image :
- Code: Tout sélectionner
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Expires: Thu, 09 Dec 2010 14:23:34 GMT
Expires: Thu, 09 Dec 2010 14:23:34 GMT
< Cache-Control: max-age=1296000
Cache-Control: max-age=1296000
< Content-Type: image/x-icon
Content-Type: image/x-icon
< Accept-Ranges: bytes
Accept-Ranges: bytes
< ETag: "3762280382"
ETag: "3762280382"
< Last-Modified: Mon, 21 Jun 2010 11:31:42 GMT
Last-Modified: Mon, 21 Jun 2010 11:31:42 GMT
< Content-Length: 15086
Content-Length: 15086
< Date: Wed, 24 Nov 2010 14:23:34 GMT
Date: Wed, 24 Nov 2010 14:23:34 GMT
- gotcha5832
- WRInaute discret

- Messages: 104
- Inscription: 22 Nov 2008
Re: Performance "Add Expires headers"
Je te remercie àprès avoir comparer nos deux header, et une différence m'a sauter au yeux.
Cache-Control: private
Du coup je l'ai passé comme toi et ca semble être bon...
je te remercie.
Tu utilise etag?
car on lit à pas mal d'endroit qu'il faut mieux le faire saute.?
Cache-Control: private
Du coup je l'ai passé comme toi et ca semble être bon...
je te remercie.
Tu utilise etag?
car on lit à pas mal d'endroit qu'il faut mieux le faire saute.?
-

Julia41 - WRInaute passionné

- Messages: 1765
- Inscription: 31 Aoû 2007
Re: Performance "Add Expires headers"
etag est plus au norme, mais oblige plus de vérification.
l'Etag est obtenu sur la date de modification du fichier (donc fait doublon avec l'header Last-Modified) (fonction stat généralement de l'OS).
C'est principalement pour défoncer les caches navigateurs qui vérifient "mal" justement.
Si tu dis à un navigateur "j'expire dans 1 mois", le navigateur n'a aucun intérêt d'aller vérifier si ton URL a changé (aussi bien au niveau des headers par exemple).
Enfin bon, c'est pas pareil pour tous les navigateurs, moi c'est principalement parce que je suis un geek que je l'ai rajouté, par défaut lighttpd ne le mets pas
l'Etag est obtenu sur la date de modification du fichier (donc fait doublon avec l'header Last-Modified) (fonction stat généralement de l'OS).
C'est principalement pour défoncer les caches navigateurs qui vérifient "mal" justement.
Si tu dis à un navigateur "j'expire dans 1 mois", le navigateur n'a aucun intérêt d'aller vérifier si ton URL a changé (aussi bien au niveau des headers par exemple).
Enfin bon, c'est pas pareil pour tous les navigateurs, moi c'est principalement parce que je suis un geek que je l'ai rajouté, par défaut lighttpd ne le mets pas
-

Bigb06 - WRInaute occasionnel

- Messages: 496
- Inscription: 21 Mar 2007
Re: Performance "Add Expires headers"
etag ne sert plus à rien si un expire header est ajouté.
Pour rappel concernant le fonctionnement d'etag :
au premier chargement, le fichier exemple.css est chargé avec un etag égal à 1 (en vérité ce n'est pas 1 mais plutot le md5 du fichier).
à chaque fois que le navigateur a besoin de concat.css (changement de page, rechargement de la page), il va indiquer qu'il possède déjà la version etag 1, si bien que si le fichier concat.css n'a pas changé, le serveur va renvoyer une réponse courte comme quoi le fichier n'a pas changé, au lieu de renvoyer le même fichier. Gros problème des Etags : il génère quand même une (petite) requête à chaque page, et pour chaque fichier déjà en cache dans le navigateur!
Pour rappel concernant le fonctionnement d'etag :
au premier chargement, le fichier exemple.css est chargé avec un etag égal à 1 (en vérité ce n'est pas 1 mais plutot le md5 du fichier).
à chaque fois que le navigateur a besoin de concat.css (changement de page, rechargement de la page), il va indiquer qu'il possède déjà la version etag 1, si bien que si le fichier concat.css n'a pas changé, le serveur va renvoyer une réponse courte comme quoi le fichier n'a pas changé, au lieu de renvoyer le même fichier. Gros problème des Etags : il génère quand même une (petite) requête à chaque page, et pour chaque fichier déjà en cache dans le navigateur!
- jcaron
- WRInaute accro

- Messages: 2687
- Inscription: 13 Fév 2004
Re: Performance "Add Expires headers"
La spec HTTP précise bien que le format de la date doit être en RFC 1123 et forcément en GMT. Tu dois donc utiliser gmdate et pas date, et le format suivant si j'en crois les commentaires dans la doc de gmdate(): 'D, d M Y H:i:s \G\M\T'.
Jacques.
Jacques.
- gotcha5832
- WRInaute discret

- Messages: 104
- Inscription: 22 Nov 2008
Re: Performance "Add Expires headers"
Merci à vous.
Je viens de passer en GMT..
Je viens de passer en GMT..
- gotcha5832
- WRInaute discret

- Messages: 104
- Inscription: 22 Nov 2008
Re: Performance "Add Expires headers"
voiçi le résultat
Date: Thu, 25 Nov 2010 01:51:47 GMT
Server: Apache
Expires: Sat, 25 Dec 2010 01:51:47 GMT
Cache-Control: max-age=1296000
Last-Modified: Fri, 22 Oct 2010 08:41:25 GMT
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: image/jpeg
Date: Thu, 25 Nov 2010 01:51:47 GMT
Server: Apache
Expires: Sat, 25 Dec 2010 01:51:47 GMT
Cache-Control: max-age=1296000
Last-Modified: Fri, 22 Oct 2010 08:41:25 GMT
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: image/jpeg
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Add Expires headers
- Ajouter un "Expires Header" chez FREE
- "Share this" "Add this" francophone
- Outil pour remplir les formulaires "add url" autom
- Lien google "add to google"
- Expires headers
- Intégrer Flux Atom avec SimplePie et "=" "&" "_" "?"
- Expires Header et apache
- Tradedoubler - délais expirés
- script nom de domaine expires
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
