[超详细] Apache网页优化:网页压缩与网页缓存超详细
前言
前两篇文章讲了Aapche的访问控制与日志分析,这篇文章会重点讲Apache的网页优化,比如:网页的压缩、网页的缓存。
我们在使用Aapche作为Web服务器的过程中,只有对Aapche服务器进行适当的优化配置,才能让它发挥出更好好的性能,因此,我们需要对Aapche服务器的配置优化!
网页压缩
凡是总会有个为什么,我们为什么要对网页进行压缩,带着这个问题来看接下来的操作。我们也常常上网,会知道网站的访问速度的快慢有很多因素,比如:应用程序的响应速度、网络带宽、服务器性能等!最重要的一个因素就是Aapche本身的响应速度。所以如果你家的网站的性能不是很理想时,就该第一时间调整Aapche服务器的执行速度,使用网页压缩可以提升应用程序的速度!
最重要的是:不需要任何费用~不需要任何费用~不需要任何费用~重要的事情说三遍
HTTP 压缩过程
1· Web服务器接收到浏览器的HTTP请求后,先检查浏览器是否支持HTTP压缩;
2·如果浏览器支持HTTP压缩,web服务器将将检查请求文件的后缀名;
3·如果请求文件的后缀名为:HTML、CSS等静态文件,web服务器会压缩缓存目录中检查是否已经存在的请求文件的最新压缩文件;
4·如果请求文件的压缩文件不存在,服务器向浏览器返回未压缩的请求文件,并在压缩缓存目录中存放压缩文件;
5·如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
6·如果请求文件时动态文件,服务器动态压缩内容并返回浏览器,但压缩内容不会存放到缓存目录中。
下面给两个演示图
未使用Gzip:
开启使用Gzip:
Aapche 的压缩模块
mod_deflate 压缩速度比较快一点,而mod_gzip 的压缩比略高
mod_deflate是专门为保证服务器性能而使用的一个压缩模块,通俗的来说,如果你的网站访问量较小,推荐使用mod_gzip,如果你的网站访问量较大,推荐使用mod_deflate 模块压缩。
在Apache2.0.45版本开始mod_deflate 可以设置压缩级别来调整压缩的速度和质量,这样就比较完美,可以由你的需要自由设定。调整的值为:1~9 (默认为6)
网页缓存
网页缓存是将一部分经常不会改变或变动很少的页面缓存,下次浏览器再次访问这些页面时,不需要再次去下载这些页面,从而提高了用户的访问速度
Apache的mod_expires 模块会自动生成页面头部信息中的EXpress标签和Cache-Control 标签,客户端浏览器根据标签决定下次访问是在本地机器的缓存中获取页面,不需要再次向服务器发出请求,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的。
安装mod_deflate 、mod_expires模块
重新编译安装Apache,在参数中加入mod_deflate 、mod_expires模块内容
编辑的内容如下:在gcc gcc-c++ pcre pcre-devel zlib-devel 都yum好了之后在./
./configure --prefix=/usr/local/httpd --enable-deflate --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-expires
make && make install
ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf #为了管理,做一个链接,方便
编辑主配置文件
vim /etc/httpd.conf
修改内容如下:
LoadModule headers_module modules/mod_headers.so #去掉注释,开启头部模块
LoadModule deflate_module modules/mod_deflate.so #去掉注释,开启压缩模块
LoadModule filter_module modules/mod_filter.so #去掉注释,开始过滤模块
LoadModule expires_module modules/mod_expires.so #去掉注释,开启缓存模块
Listen 192.168.100.20:80
#Listen 80
ServerName www.baidu.com:80
在Apache主配置文件末尾添加以下两个区域:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css test/xml test/javascript
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
</IfModule>
在压缩模块中,添加支持的压缩文件的格式和压缩比例为9,可以自己修改
支持压缩模块的方式是DEFLATE
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 50 seconds"
</IfModule>
网页缓存模式开启,缓存时间为50秒!
重启服务
service httpd start
service iptables stop
setenforce 0
使用Fiddler抓包工具进行验证:
总结
对服务器的优化可以提升客户的访问速度。
使用压缩模块可以不需要任何成本就可以提示网页的加载速度,何乐而不为!
网页缓存也从一定的基础上提供了访问速度,它是把一些资源临时存放在本地,设定一定的有效期限,当你在这个时间内在访问,就不需要请求服务器,而是直接从本地缓存调取。
归纳
这篇文章主要是讲了网页的2点优化:
1·网页的压缩,使用的压缩模块是:mon_deflate。为什么用它呢,个人感觉它的一个功能可以使用DeflateCompressionLevel 指令来设置压缩级别,这样压缩的质量、和速度都掌控在自己手中
2·网页的缓存,使用的缓存模块是:mon_expires。它可以降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的!
3·如果抓包时没有看到压缩效果,那么在Apache的站点中加张图片吧,要不然就几个字符,没有压缩效果。
转载于:https://blog.51cto.com/13746824/2157004
[超详细] Apache网页优化:网页压缩与网页缓存超详细相关推荐
- 打开服务器网页要5秒,网页优化技巧 如何把网页加载时间控制在1.5秒以内
今天为大家分享"如何把网页加载时间控制在1.5秒以内(必看)"当然了,控制在2秒以内其实是完全可以的,我们为什么要控制页面打开速度那?首先百度会对加载慢的页面进行打击,对SEO排名 ...
- 物超所值的优化mysql_CXT UNO:优化设计 物超所值
这是"现代物流"陪您的第1205天,594篇文章 关于科尼集团 众所周知,科尼集团是技术先进的起重机专业制造商,所服务的用户范围广大,包括一般制造业和加工业.造船厂.港口和码头等多 ...
- Apache网页优化概述
Apache网页优化概述 Apache网页优化概述 一.网页压缩 1.检查是否安装mod_ deflate 模块 2.如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod ...
- 手把手教你,嘴对嘴传达------Apache网页优化
文章目录 Apache网页优化 一.Apache网页压缩 1.网页优化概述 2. 网页gzip概述 3.Apache的压缩模块 4.配置网页压缩功能 5.Apache网页压缩实操 (1) 手动编译安装 ...
- Linux---Apache网页优化---网页压缩
Linux-Apache网页优化-网页压缩 一.Apache网页优化概述 1.在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配 ...
- 【Apache 网页优化】
文章目录 一.Apahce 网页优化 1.网页压缩 2.网页缓存 二.Apachen的安全优化 1.隐藏版本信息 2.Apache 防盗链 一.Apahce 网页优化 1.网页压缩 1.检查是否安装 ...
- 【Web网站服务】Apache网页优化
Apache网页优化 一.网页压缩 1.1网页压缩步骤 二.网页缓存 三.隐藏版本信息 五.Apache防盗链 一.网页压缩 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言 ...
- 4.Apache网页优化
文章目录 Apache网页优化 网页压缩 网页缓存 隐藏版本信息 Apache防盗链 Apache网页优化 Apache网页优化 网页压缩 网页缓存 Apache安全优化 隐藏版本信息 配置防盗链 网 ...
- 【Web服务器】Apache网页优化
文章目录 一.Apache网页优化概述 1.优化内容 2.网页压缩 2.1gzip概述 2.2作用 2.3Apache的压缩模块 概述 mod_gzip模块与mod_deflate模块 3.配置网页压 ...
- Apache网页优化部署
一.gzip介绍 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器 作用 降低了网络传输的字节数:加快网页加载的速度 节省流量,改善用户的浏览体验 gz ...
最新文章
- spring elasticsearch 按条件删除_Elasticsearch系列之Query DSL
- mysql中count的用法
- 使用ubuntu16.04对NVIDIA Jetson Xavier NX使用刷机:两种刷机方式:SD卡镜像法 和 NVIDIA SDK Manager法
- debugger vsm_ProteusVSM常见问题解答
- Java基础——注解
- git获取管理员权限 windows,windows下git怎么管理权限
- 工业互联网智能智造-工业企业大数据汇聚通道-产品设计
- win2008服务器维护费用,win2008 服务器安全检查步骤指引(日常维护说明)
- DNS(BIND) 正向解析 反向解析 基本服务的搭建
- 理解 Delphi 的类(十) - 深入方法[2] - 参数分割
- putty连接TPYBord V202开发板教程
- oracle如何储存超长汉子_oracle Clob 存储超长字符
- Unity采用Forge Networking Remastered数据的远程传输Basic Moving Cube Example
- SAE J1939协议读取车辆故障码
- 李宏毅学习笔记11.CNN(上)
- pn532复制教程 linux,Linux下pn532板子测试学校水卡
- c语言如何解超越方程
- 发票查重触手可得,会计从此不背锅
- 全景中的包围曝光和HDR应用
- 《初始化和反初始化》