实验环境:
一台Apache服务器
一台win7客户端
软件:抓包工具,httpd-2.4.34.tar.gz,
域名:“www.kuaile.com”
准备工作:
1.客户端
在win7的hosts(绝对路径C:\Windows\System32\drivers\etc)文件下添加
192.168.3.1 www.kuailen.com
保存退出
安装抓包工具
2.服务器
安装http服务
用源码包重新编译安装一下http服务(加载几个模块进来)
[root@localhost ~]# tar -zxvf httpd-2.4.34.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/httpd-2.4.34/
[root@localhost httpd-2.4.34]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi --enable-deflate --enable-expires
#注:加载deflate模块时要先安装依赖包“zlib-devel”
[root@localhost httpd-2.4.34]# make && make install
访问优化:
一.保持常链接
[root@localhost httpd]# vim /usr/local/httpd/conf/httpd.conf
476 Include conf/extra/httpd-default.conf ####去掉“#”号
[root@localhost conf]# vim /usr/local/httpd/conf/extra/httpd-default.conf
16 KeepAlive On #On开启常链接
23 MaxKeepAliveRequests 100 #允许最大常链接数
29 KeepAliveTimeout 5 #超时断开
[root@localhost conf]# systemctl restart httpd.service #重启服务
测试:
#客户端打开抓包工具,网页访问www.kuaile.com
二.网页压缩传输
#这会用到前面的模块deflate
#刚才我们已经提前加载了
[root@localhost conf]# vim /usr/local/httpd/conf/httpd.conf
AddOutputFilter ByType DEFLATE text/html text/plain text/css text/xml text/javascript
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
[root@localhost conf]# systemctl restart httpd.service #重启服务
测试:
###一样的方法###
三.页面缓存
#用到前面的expires模块
#我们之前已经加载了
[root@localhost conf]# vim /usr/local/httpd/conf/httpd.conf
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"
</IfModule>
:wq!
[root@www ~]# /usr/local/httpd/bin/apachectl restart
测试:
#清除浏览器历史记录,重新访问测试
扩展:
隐藏版本号:
[root@www ~]# vi /usr/local/httpd/conf/httpd.conf ##添加在末尾
ServerTokens Prod ##显示最少的信息,默认是Full显示完整信息
ServerSignature Off ##生成页面的页脚
:wq!
测试: