Compression gzip config Apache ?

WRInaute occasionnel
Hello !

Jouant un peu les moutons de google, je me suis décidé à mettre en oeuvre la compression gzip sur mon dédié afin d'optimiser la vitesse.
Le hic, c'est que seules les pages html sont compressées, nada pour les .css et les .js

J'ai pourtant :
1 - activé, dans la config Apache les modules headers et deflate
2- dans le fichier deflate.conf, ajouté le code
Code:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css application/x-javascript
</IfModule>

Et j'ai toujours quelques ko pouvant être compressés sur mes feuilles de styles et mes javascripts.

Qu'est ce que j'ai oublié ?

PS : et comment être sûr que les images, déjà compressées, ne passent pas à la moulinette ?

Merci
Bonne journée
 
WRInaute accro
Le deflate.conf est bien inclus directement ou indirectement dans ton httpd.conf? Et les CSS et JS sont bien envoyés avec les Content-Types indiqués?

Jacques.
 
WRInaute accro
Personnellement j'utilise gzip en module. Tu peux inclure ou/et exclure les extensions de ton choix.
Code:
<IfModule mod_gzip.c>
   mod_gzip_on                   Yes
   mod_gzip_can_negotiate        Yes
   mod_gzip_static_suffix        .gz
   AddEncoding              gzip .gz
   mod_gzip_update_static        No
   mod_gzip_handle_methods        GET POST
   mod_gzip_minimum_file_size    500
   mod_gzip_maximum_file_size    500000
   mod_gzip_maximum_inmem_size   60000
   mod_gzip_min_http             1000
   mod_gzip_item_exclude         reqheader  "User-agent: Mozilla/4.0[678]"
   mod_gzip_item_include         file       \.html$
   mod_gzip_item_exclude         mime       ^image/
</IfModule>
 
WRInaute occasionnel
Merci pour vos réponses !

jcaron a dit:
Et les CSS et JS sont bien envoyés avec les Content-Types indiqués ?
Jcaron, peut-être as-tu pointé l'origine du pb :wink:

En fait, je n'ai jamais mis de content-type en entête de mes fichiers css.
C'est bien de ça dont il s'agit ?
Quelle en est la syntaxe ?


Ps : merci Salva pour les astuces au sujet des extensions :)
 
WRInaute passionné
Cette solution compresse les données à transférer, ok ?

Les questions que je me pose :
- cela met donc plus de temps au niveau machine à répondre ?
- en contrepartie, est-ce plus rapide côté réseau ?
- est-ce que l'un rattrape l'autre ?
- est-ce que le total de temps est moins important lorsque l'on transfert un fichier compressé, que si on transfert le fichier non compressé ?
- y a-t-il un système de cache ?

Merci
 
WRInaute accro
Normalement tu as un TypesConfig qui utilise un fichier mime.types qui contient les content-types et les extensions qui vont avec (tu peux aussi les préciser via AddType). Dans la version standard css -> text/css et js -> application/javascript, ce qui devrait faire que les premiers sont compressés mais pas les deuxièmes.

Tu peux vérifier quel content-type est renvoyé en faisant par exemple un curl -I url_du_fichier (c'est un "i" majuscule), ou un bête telnet sur le port 80 et en tapant:
Code:
HEAD /chemin_du_fichier HTTP/1.1
Host: nom_du_serveur
<ligne vide>

Ceci dit mod_gzip a l'avantage qu'il peut utiliser des versions pré-compressées plutôt que de compresser à chaque fois, ce qui, pour des fichiers statiques comme du JS ou CSS, peut s'avérer utile.

Jacques.
 
WRInaute occasionnel
Les mime-type sont correctement renseignés pour l'extension css.

Les entêtes de mes fichiers css sur mon dédié :
Code:
Date: Mon, 01 Feb 2010 13:34:30 GMT
Server: Apache
Last-Modified: Fri, 04 Dec 2009 17:46:12 GMT
Etag: "97cc0-5179-aefd8100"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 5179
Content-Type: text/css

200 OK

Malgré tout, sauf erreur, sous Pagespeed, les css persistent à apparaitre comme non compressés.

Ich bin eine Grosse Quiche, ou bien ?
 
WRInaute occasionnel
Ok, c'est bien ce que je me disais.
(peut-être un pb d'interprétation des données par Pagespeed)

Merci pour ton aide, Jacques.
 
Discussions similaires
Haut