Maison  >  Article  >  Opération et maintenance  >  Comment activer la compression GZIP dans Apache

Comment activer la compression GZIP dans Apache

小云云
小云云original
2018-03-05 09:50:242051parcourir

Gzip est un algorithme de compression de fichiers populaire qui est désormais largement utilisé, notamment sur la plateforme Linux. Gzip est pris en charge par défaut dans les navigateurs modernes. Lorsqu'un fichier texte brut est compressé avec Gzip, la taille du fichier peut être réduite de plus de 70 %. Après compression, le nombre d'octets transmis sur le réseau peut être considérablement réduit. L'utilisation de Gzip permet d'accélérer les pages Web. La vitesse de chargement rend également votre site Web plus convivial pour les moteurs de recherche. Ci-dessous, le programmeur PHP Lei Xuesong explique en détail comment Apache utilise le module mod_deflate pour implémenter la compression Gzip du contenu Web.

Le processus de traitement Gzip de la requête HTTP du serveur Apache

1 Une fois que le serveur Apache a reçu la requête HTTP du navigateur, il vérifie si le navigateur prend en charge la compression HTTP. (Accepter-Encodage des informations).

2. Si le navigateur prend en charge la compression HTTP, le serveur Apache vérifie le suffixe du fichier demandé.

a. Si le fichier demandé est un fichier statique tel que HTML, CSS, JS, Images, etc., le serveur Apache vérifiera si le dernier fichier compressé du fichier demandé existe déjà dans le répertoire du tampon de compression. .S'il n'existe pas, renvoyez le fichier de requête compressé et stockez le fichier compressé dans le répertoire du tampon de compression. S'il existe déjà, renvoyez directement le fichier compressé du fichier demandé.
b. Si le fichier demandé est un fichier dynamique, le serveur Web compresse dynamiquement le contenu et le renvoie au navigateur. Le contenu compressé n'est pas stocké dans le répertoire du cache de compression.

Apache prend en charge la configuration de la compression GZIP

1 Modifiez le fichier http.conf, activez le module mod_deflate

Supprimez #LoadModule headers_module modules/mod_headers. donc Le commentaire précédent #
Supprimer #LoadModule deflate_module modules/mod_deflate.so Le commentaire précédent #
Supprimer #LoadModule filter_module modules/mod_filter.so Le commentaire précédent #

2. Configurer les paramètres liés à la compression Gzip.


<IfModule mod_deflate.c>
#压缩率,6是建议值。
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/gif image/png image/jpe image/swf image/jpeg image/bmp
#排除不需要压缩的文件
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI .(?:html|htm)$ no-gzip dont-varySetEnvIfNoCase
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
</IfModule>

3. Redémarrez le serveur Apache et utilisez une requête du navigateur pour vérifier si Gzip est efficace.

Recommandations associées :

Utilisation de PHP pour déterminer si le serveur prend en charge la fonction de compression Gzip_Tutoriel PHP

Explication détaillée de la fonction de compression GZIP sur la page de l'extension PHP zlib

Paramètres de compression Apache Gzip


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn