Impossible de supprimer le champ Etag via htaccess

WRInaute passionné
Bisoir,

J’ai voulu paramétrer la mise en cache des images dans un HTACCES, en indiquant que les images peuvent être mise en cache 24 heures, et en voulant désactiver le Etag (pas besoin de ETag pour des images).

Pour la mise en cache de 24 heures maximum, j’ai fait ceci, qui fonctionne :
Code:
<FilesMatch "\.(gif|jpg|png)$">
   Header set Cache-Control "max-age=86400"
</FilesMatch>

Mais pour désactiver le Etag, ce qui suit qui devrait fonctionner, est sans aucun effet :
Code:
<FilesMatch "\.(gif|jpg|png)$">
   Header unset Etag
</FilesMatch>

Je ne reçois pas d’erreur 500, donc c’est correctement reconnu par le serveur, mais j’ai vérifié que les entêtes de réponses contiennent toujours un ETag, tandis que le “Cache-Control: max-age=86400” est présent, comme demandé dans ces mêmes entêtes de réponse. Si “Header set” fonctionne, “Header unset” devrait fonctionner aussi.

Aucune idée de pourquoi ça ne fonctionne pas. Caprice de l’hébergeur ?

Avez-vous déjà rencontré ce cas ?
 
WRInaute passionné
si c'est pour ton www ça m'a l'air bon:
Code:
curl -I http://www.les-ziboux.rasama.org/clavier-arabe-virtuel.html
HTTP/1.1 200 Okay, voici votre document
Date: Thu, 17 Jun 2010 23:06:53 GMT
Server: Apache
Cache-Control: max-age=86400
Content-Encoding: identity
Content-Length: 36189
Last-Modified: Sat, 01 May 2010 23:36:49 GMT
Content-Type: text/html; charset=UTF-8
Le "etag" n'est pas forcément mauvais au contraire.
 
WRInaute passionné
Bonsoir :D (je ne m’attendais pas à trouver quelqu’un ici si tard)

Julia41 a dit:
si c'est pour ton www ça m'a l'air bon:
C’est normal, tu pris la réponse d’un GET sur un contenu HTML. Ils sont renvoyés par un CGI qui court-circuite totalement Apache et écrit tous les champs à sa place. Mais pour les images, c’est différent, elles sont renvoyées telles-quelles, et c’est pour ça que je voulais paramétrer le cache par un HTACCESS. Je pourrais aussi les faire renvoyer par un CGI, mais j’ai déjà les HTML, CSS et JS qui sont dans ce cas, et je suis sur un serveur mutualisé, ce qui fait que le fork d’un CGI n’est pas si rapide, alors je préfère limiter.

Julia41 a dit:
Le "etag" n'est pas forcément mauvais au contraire.
Oui, tu as raison, mais normalement il s’utilise plutôt quand on a pas de max-age. Une requête peut être alors faite en demandant de ne renvoyer le document que s’il n’a plus le même ETag. Comme j’ai max-age, je me disais qu’il est inutile, alors je voulais le supprimer.

De plus, les outils de diagnostique de la vitesse des sites ne semble pas aimer Etag non--plus.


P.S. C’est quoi ce Curl que je vois dans ce que tu as posté et qui ressemble à une ligne de commande ?
 
WRInaute passionné
C'est un bin linux permettant de faire un peu ce qu'on veut :
-I ça fait juste une requête "HEAD" et généralement tu as ce que tu veux.
Mais tu peux aussi POST, créer des cookies et les sauvegardes dans un fichier.

C'est très utilisé si tu veux scripter des trucs nécessitant l'accès à des pages "où tu dois être connecté".

Perso je m'en sers pour vérifier mes headers et dans le traitement de mes mails.
-http://curl.haxx.se/docs/manpage.html
 
WRInaute passionné
Julia41 a dit:
C'est un bin linux permettant de faire un peu ce qu'on veut :
-I ça fait juste une requête "HEAD" et généralement tu as ce que tu veux.
Mais tu peux aussi POST, créer des cookies et les sauvegardes dans un fichier.

C'est très utilisé si tu veux scripter des trucs nécessitant l'accès à des pages "où tu dois être connecté".

Perso je m'en sers pour vérifier mes headers et dans le traitement de mes mails.
-http://curl.haxx.se/docs/manpage.html
D’accord, je ne connaissais pas, merci :)

Je suis sous Windows, et j’utilise mon propre programme pour ça, que j’ai fait tout seul comme un grand :mrgreen:

Sinon, il existe aussi http://web-sniffer.net/ qui permet de consulter les entêtes de réponses et de contrôler l’entête de la requête.

(pas pour dire que le tiens n’est pas intéressant, mais juste pour ajouter mes condiments au plat)
 
Discussions similaires
Haut