定義:對apache服務器發佈的網頁內容進行壓縮後再發送到客戶端的瀏覽器。減小了網絡傳輸用時,也加快了網頁加載的速度。javascript
1.二者均使用gzip壓縮算法,運做原理相似
2.mod_deflate 壓縮速度略快,而mod_gzip 的壓縮比略高
3.mod_gzip 對服務器CPU的佔用要高- -些
4.高流量的服務器,使用mod_deflate 可能會比mod_gzip 加載速
度更快php
[root@localhost ~]# mkdir /aaa [root@localhost ~]# mount.cifs //192.168.10.12/rpm /aaa Password for root@//192.168.10.12/rpm: [root@localhost ~]# cd /aaa [root@localhost aaa]# ls LAMP [root@localhost aaa]# cd LAMP/ [root@localhost LAMP]# ls apr-1.6.2.tar.gz error.png apr-util-1.6.0.tar.gz ha.jpg awstats-7.6.tar.gz httpd-2.4.29.tar.bz2 cronolog-1.6.2-14.el7.x86_64.rpm mysql-5.6.26.tar.gz Discuz_X2.5_SC_UTF8.zip php-5.6.11.tar.bz2 [root@localhost LAMP]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt [root@localhost LAMP]# tar zxvf apr-1.6.2.tar.gz -C /opt/ [root@localhost LAMP]# tar zxvf apr-util-1.6.0.tar.gz -C /opt [root@localhost LAMP]# cd /opt/ [root@localhost opt]# ls apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh [root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr [root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util [root@localhost opt]# yum install gcc gcc-c++ pcre pcre-devel zlib-devel expat-devel -y [root@localhost opt]# cd httpd-2.4.29/ [root@localhost httpd-2.4.29]# ls ABOUT_APACHE CMakeLists.txt INSTALL NWGNUmakefile acinclude.m4 config.layout InstallBin.dsp os Apache-apr2.dsw configure LAYOUT README Apache.dsw configure.in libhttpd.dep README.cmake apache_probes.d docs libhttpd.dsp README.platforms ap.d emacs-style libhttpd.mak ROADMAP build httpd.dep LICENSE server BuildAll.dsp httpd.dsp Makefile.in srclib BuildBin.dsp httpd.mak Makefile.win support buildconf httpd.spec modules test CHANGES include NOTICE VERSIONING [root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi [root@localhost httpd-2.4.29]# make [root@localhost httpd-2.4.29]# make install [root@localhost httpd-2.4.29]# cd /usr/local/httpd/ [root@localhost httpd]# ls bin cgi-bin error icons lib man modules build conf htdocs include logs manual [root@localhost httpd]# cd conf [root@localhost conf]# ls extra httpd.conf magic mime.types original [root@localhost conf]# vim httpd.conf [root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf [root@localhost conf]# vim /etc/httpd.conf /deflate,搜索這個關鍵詞 LoadModule deflate_module modules/mod_deflate.so //此行去除註釋 /headers,搜索這個關鍵詞 LoadModule headers_module modules/mod_headers.so //此行須要去除註釋 /filter,搜索這個關鍵詞 LoadModule filter_module modules/mod_filter.so //此行須要去除註釋 /Listen,搜索這個關鍵詞 Listen 192.168.234.172:80 #Listen 80 /ServerName,搜索這個關鍵詞 ServerName www.kgc.com:80 按大寫字母G到末行,按o轉下行插入 <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/ipg text/png DeflateCompressionLevel 9 SetOutputFilter DEFLATE </IfModule> //修改結束後按Esc退出,輸入:wq保存退出 [root@localhost conf]# /usr/local/httpd/bin/apachectl -t Syntax OK //驗證語法是否正確 [root@localhost conf]# /usr/local/httpd/bin/apachectl start [root@localhost conf]# netstat -ntap | grep 80 tcp 0 0 192.168.234.172:80 0.0.0.0:* LISTEN 82881/httpd [root@localhost conf]# ls extra httpd.conf magic mime.types original [root@localhost conf]# cd .. [root@localhost httpd]# ls bin cgi-bin error icons lib man modules build conf htdocs include logs manual [root@localhost httpd]# cd htdocs/ [root@localhost htdocs]# ls index.html [root@localhost htdocs]# cat index.html <html><body><h1>It works!</h1></body></html> [root@localhost htdocs]# cd /usr/local/httpd/bin/ [root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "deflate" deflate_module (shared)
二、在/htdocs中添加進圖片jpg,在index.html中輸入<img src=「time.jpg」/>,客戶端經過IP訪問瀏覽器,用fiddler進行捕捉。css
[root@localhost bin]# cd /aaa/LAMP [root@localhost LAMP]# ls apr-1.6.2.tar.gz ha.jpg apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 awstats-7.6.tar.gz lf.jpg cronolog-1.6.2-14.el7.x86_64.rpm mysql-5.6.26.tar.gz Discuz_X2.5_SC_UTF8.zip php-5.6.11.tar.bz2 error.png [root@localhost LAMP]# cp lf.jpg /usr/local/httpd/htdocs/ //把圖片複製到對應的文件夾 [root@localhost LAMP]# cd /usr/local/httpd/ [root@localhost httpd]# cd htdocs/ [root@localhost htdocs]# ls index.html lf.jpg [root@localhost htdocs]# vim index.html <html><body><h1>It works!</h1> <img src="time.jpg"/> </body></html> //格式作以上更改,在當中插入圖片,按Esc退出,輸入:wq保存退出
結論:咱們只要在網頁中嵌入了圖片或者視頻這類格式文件時,網頁會經過打壓縮的方式再進行傳輸,傳到對方的客戶端以後在進行解壓縮的識別html
定義:將一部分常常不會變更或變更較少的頁面緩存。下次瀏覽器訪問這些頁面時,不須要再次下載。提升了用戶的訪問速度,下降客戶端的訪問頻率。
基於以前已經對apache的配置文件進行了相對應的設置,因此咱們接下來只須要作以下更改:
一、代碼以下:java
[root@localhost htdocs]# vim /etc/httpd.conf 在末行按o轉下行插入如下內容 <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 50 seconds" </IfModule> //修改完成後按Esc退出,輸入:wq保存退出 [root@localhost htdocs]# pwd /usr/local/httpd/htdocs [root@localhost htdocs]# cd /usr/local/httpd/ [root@localhost httpd]# cd bin/ [root@localhost bin]# ./apachectl -t //檢查語法 Syntax OK [root@localhost bin]# ./apachectl stop [root@localhost bin]# ./apachectl start
二、驗證,進行抓包測試mysql