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 :
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!