Avant de vous fournir la recette magique .htaccess, n'oubliez pas qu'il est possible de gagner ~ 20 % sur la taille de vos images (png, gif, jpg) à l'aide d'un optimiseur. Il en existe plusieurs pour chaque format. (punnypng, optipng, smush.it, yuicd...) Utile également pour gagner quelques précieux octets utilisez un minifier pour vos fichiers JS et CSS. Google Compiler / YUI. L'optimisation des images et minification des css/js sont 2 étapes tellement simples qu'il serait bête de passer à côté. Sachez aussi qu'il existe 1001 autres astuces, regardez le groupe Web performance.

Fichier de configuration .htaccess

Fonctionne sur un 60gplan d'ovh

#Activation de la version 5 de php
SetEnv PHP_VER 5
# Activation de l'optimiseur Zend
SetEnv ZEND_OPTIMIZER 1
# Suppression des variables globales
SetEnv REGISTER_GLOBALS 0
# Suppression des guillemets magiques
SetEnv MAGIC_QUOTES 0
#Activation de la compression
mod_gzip_on On
#Compression active uniquement sur les contenus textuels.
SetOutputFilter DEFLATE 
AddOutputFilterByType DEFLATE text/html text/xml application/xhtml+xml text/plain application/javascript text/css
# On ne compresse pas les images (utile ?)
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
#Ajout de la fin de vie des images - gestion du cache navigateur - 6 mois
#Suppression des Etags
<FilesMatch "\.(gif|jpg|png|ico)$">
   Header set Cache-Control "max-age=15552000"
   RequestHeader unset Cookie
   Header unset Set-Cookie
</FilesMatch>
#Ajout de la fin de vie des css / js- gestion du cache navigateur - 15 jours
#Suppression des Etags
<FilesMatch "\.(css|js)$">
   Header set Cache-Control "max-age=1296000"
   RequestHeader unset Cookie
   Header unset Set-Cookie
</FilesMatch>
# Désactivation gzip pour Netscape 4.x -> crée quelques problèmes…
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Désactivation gzip pour Netscape 4.06-4.08
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# IE se déguise en Netscape, mais OK
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#Désactivation des Etag
Header unset ETag
FileETag None
# Pour que les proxies ne transmettent pas un mauvais contenu
Header append Vary User-Agent env=!dont-vary

A adapter selon vos besoins.

Résultats

Pour la première visite on passe de 4.5s (161 Ko) à 2.5s (56 Ko). Pour la deuxième visite c'est beaucoup plus impressionnant on passe de 2.4s (24Ko) à 0.695s (1ko). Conclusion même sur un simple blog avec peu d'images on peut améliorer X2 les performances, également éviter de faire grossir le traffic en obligeant les utilisateurs à re-télécharger des médias déjà connus de leur navigateur.