前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache站点优化-数据压缩

Apache站点优化-数据压缩

作者头像
星哥玩云
发布2022-09-15 16:01:49
5650
发布2022-09-15 16:01:49
举报
文章被收录于专栏:开源部署

一、数据压缩介绍

数据从服务器传输到客户端,需要传输时间,文件越大传输时间就越长,为了减少传输时间,我们一般把数据压缩后在传给客户端。

apache支持两种压缩:deflate、gzip

mod_gzip 和mod_deflate比较

首先一个区别是安装它们的Apache Web服务器版本的差异。Apache 1.x系列没有内建网页压缩技术,所以才去用额外的第三方mod_gzip 模块来执行压缩。而Apache 2.x官方在开发的时候,就把网页压缩考虑进去,内建了mod_deflate 这个模块,用以取代mod_gzip。虽然两者都是使用的Gzip压缩算法,它们的运作原理是类似的。

第二个区别是压缩质量。mod_deflate 压缩速度略快而mod_gzip 的压缩比略高。一般默认情况下,mod_gzip 会比mod_deflate 多出4%~6%的压缩量。

那么,为什么使用mod_deflate?第三个区别是对服务器资源的占用。 一般来说mod_gzip 对服务器CPU的占用要高一些。mod_deflate 是专门为确保服务器的性能而使用的一个压缩模块,mod_deflate 需要较少的资源来压缩文件。这意味着在高流量的服务器,使用mod_deflate 可能会比mod_gzip 加载速度更快。

应用场景:数据压缩传输
优化目的:提升用户访问页面加载速度,节约带宽

二、数据压缩实现

1)开启模块

LoadModule deflate_module modules/mod_deflate.so

2)调用模块

<IfModule deflate_module>

DeflateCompressionLevel 4

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php

AddOutputFilter DEFLATE js css

BrowserMatch \bMSIE\s[1-6] dont-vary

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary

代码语言:javascript
复制
<IfModule deflate_module>
# 压缩等级 4       1-9,数字越大压缩的越好,也越占用CPU时间
DeflateCompressionLevel 4
# 压缩类型 html、xml、php、css、js
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
AddOutputFilter DEFLATE js css
#浏览器匹配 IE1-6的不压缩
BrowserMatch \bMSIE\s[1-6] dont-vary
#设置不压缩的文件,注意图片本身就是压缩过的,所以不需要再压缩
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
</IfModule>

三、测试

1)生成HTML数据页面

代码语言:javascript
复制
for i in `seq 1 20`;do
    cat /etc/passwd >> /usr/local/apache/htdocs/test_deflate.html
done

2)未启用压缩前通过浏览器访问该页面,通过开发者工具查看页面大小

deflate_01.png
deflate_01.png

3)启用压缩再次通过浏览器访问该页面,通过开发者工具查看页面大小,如果明显变小了则说明压缩成功。也可以从响应头中看出多了压缩字段。

deflate_02.png
deflate_02.png
deflate_response_headers03.png
deflate_response_headers03.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、数据压缩介绍
    • mod_gzip 和mod_deflate比较
      • 应用场景:数据压缩传输
        • 优化目的:提升用户访问页面加载速度,节约带宽
        • 二、数据压缩实现
        • 三、测试
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档