一:实验背景;
1、将某些可以压缩的较大文件进行压缩,在传输过程中,减少带宽,加块传输速度;
2、不是所有的文件都支持压缩;
3、有些支持压缩的小文件,压缩之后比原来的值还大,就违背了压缩的意义,故不压缩小文件;
4、压缩需要有支持压缩的模块:LoadModule deflate_module modules/mod_deflate.so(在/etc/httpd/conf/httpd.conf配置文件里默认已存在);
5、在文本浏览器curl使用选项--compressed,加上它也不会压缩(默认不启动压缩),所以需要在配置文件中手动启动压缩:SetOutputFilter DEFLATE
二:实验过程;
1、在/etc/httpd/conf.d/test.conf子配置文件中定义;
[root@Centos6 /var/www/html]# vim /etc/httpd/conf.d/test.conf
SetOutputFilter DEFLATE #启用压缩功能
DeflateCompressionLevel 9 #压缩比,默认就是9,可写可不写;
AddOutputFilterByType DEFLATE text/html #下面两行是定义可以压缩的文件类型
AddOutputFilterByType DEFLATE text/plain
2、创建一个可以压缩的大文件
[root@Centos6 /app]# cd /var/www/html/
[root@Centos6 /var/www/html]# cp /var/log/yum.log sjj.html #进到/var/www/html目录下拷贝一份比较大的文件重命名sjj.html
在Centos 7客户端上看一下这个文件大小;
[root@centos7 ~]# curl -I http://192.168.242.202/sjj.html #使用curl字符浏览器访问/var/www/html/sjj.html
HTTP/1.1 200 OK #相应报文首部信息:版本http1.1; 状态码200表示访问成功OK;
Date: Thu, 19 Oct 2017 10:05:07 GMT #日期
Server: Apache/2.2.15 (CentOS) #服务器程序名及版本
Last-Modified: Thu, 19 Oct 2017 09:56:27 GMT #上次修改时间
ETag: "300a47-2b9ed-55be35ea8e9e0"
Accept-Ranges: bytes #服务器可接受的请求范围类型
Content-Length: 178669 #访问的文件大小
Connection: close #连接状态
Content-Type: text/html; charset=UTF-8 #访问文件的文件类型,及编码字符集
3、然后再在Centos 7上用--compressed进行压缩测试;
[root@centos7 ~]# curl -I --compressed http://192.168.242.202/sjj.html
HTTP/1.1 200 OK
Date: Thu, 19 Oct 2017 10:08:04 GMT
Server: Apache/2.2.15 (CentOS)
Last-Modified: Thu, 19 Oct 2017 09:56:27 GMT
ETag: "300a47-2b9ed-55be35ea8e9e0"
Accept-Ranges: bytes
Vary: Accept-Encoding #服务器查看的其它首部列表:即多了一个执行编码动作
Content-Encoding: gzip #多了一个压缩显示
Content-Length: 1880 #有明显的大小变化
Connection: close
Content-Type: text/html; charset=UTF-8san
三:实验总结;
在试验中出了一个小错误:403 权限拒绝:HTTP/1.1 403 Forbidden
原因:在做cp /var/log/yum.log sjj.html 后,权限是600(但我没有注意就去进行测试了),所以在测试时老是报403错误,我翻翻笔记,发现403是权限拒绝,就去查看了一下sjj.html文件权限,(-rw-------.),所以chmod +r /var/www/html/sjj.html改权限后,再测试就OK了;