首页 > 其他分享 >Apache2.4开启GZIP功能

Apache2.4开启GZIP功能

时间:2023-04-17 14:36:05浏览次数:41  
标签:文件 gzip text 压缩 javascript 开启 application GZIP Apache2.4

HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的。

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

  GZip压缩的基本流程如下:

   1. Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding 信息);

    2. 如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;

    3. 如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;

    4. 如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;

    5. 如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;

    6. 如果请求文件是动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。

  网上许多开启GZIP的方法,但是研究了许多才成功了,在这里记录下面

  编辑 http.conf 文件

  去掉 #LoadModule headers_module modules/mod_headers.so 前面的注释#
  去掉 #LoadModule deflate_module modules/mod_deflate.so 前面的注释#
  去掉 #LoadModule filter_module modules/mod_filter.so 前面的注释# 

  文件末尾加上

  <IfModule mod_deflate.c>
   AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json #对指定的内容进行压缩,压缩方式为默认的一个方法
  </IfModule>

详细配置:

<IfModule mod_deflate.c>

DeflateCompressionLevel 6
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是设置不对exe,tgz,gz。。。的文件进行压缩
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/* #设置对文件是文本的内容进行压缩,例如text/html text/css text/plain等
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript #这段代码你只需要了解application/javascript application/x-javascript这段就可以了,这段的意思是对javascript文件进行压缩
AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp #这段是告诉apache对php类型的文件进行压缩
BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.x 有一些问题,所以只压缩文件类型是text/html的
BrowserMatch ^Mozilla/4.0[678] no-gzip # Netscape 4.06-4.08 有更多的问题,所以不开启压缩
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # IE浏览器会伪装成 Netscape ,但是事实上它没有问题

</IfModule>

标签:文件,gzip,text,压缩,javascript,开启,application,GZIP,Apache2.4
From: https://www.cnblogs.com/Mr-zhangwenqiang/p/17325743.html

相关文章

  • vue中开启https
    vue2.0中项目工程根目录下,找到文件 vue.config.js。设置 module.exports.devServer.https:true项目工程根目录下,找到文件vue.config.js。设置module.exports.devServer.https:truemodule.exports={productionSourceMap:false,configureWebpack:{devt......
  • 路由器开telnet功能开启console配置
    路由器开telnet功能conftlinevty04(开启多少线路可以连接此时开始4条)passwordccnalogin(表示允许登录)   nopassword(没有密码)nologin(不输入密码也可以等)  loginlocalusernameccnapasswordccna  开启console配置linecosole0  enablepasswordccna (进......
  • spring手动开启、提交、回滚事务
    配置事务<!--(事务管理)--><beanname="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><propertyname="dataSource"ref="dataSource"/></bean>......
  • salt开启debug命令|4-13
    可以通过在SaltMinion的启动命令中添加`-ldebug`参数来开启debug模式。具体步骤如下:1.使用root用户登录到SaltMinion所在的服务器。2.执行以下命令以启动SaltMinion并开启debug模式: ```bash sudosalt-minion-ldebug ``` 或者,您也可以使用......
  • 人体红外夜间远程监控【远程车子夜间监控】[车内监控][车内监视器]【远程夜间汽车监控
    (接上一篇:https://www.cnblogs.com/liuguiqing/p/17114911.html)(本篇讲解:实践操作) 调试设备:(摄像机部分) 调试设备:(网络部分)注意:共两路,一路控制wifi网卡(供摄像机上网);一路控制wifi摄像机。控制电路一样。 组装调试: 实际应用:手机app远程查看监控,效果: ......
  • 如何开启用户认证?
      1默认是匿名认证,不用输入用户名和密码,直接可连接2如何开启用户名和密码认证模式2-1关闭匿名认证在你的MQTT安装目录下,进入文件夹etc/emq.conf配置启用匿名认证:  2-2设置配置文件用户名密码认证基于MQTT登录用户名(username)、密码(password)认证。etc/pl......
  • Java项目开启JMX:Prometheus数据上报
    对于Java项目而言,开启JMX进行JVM监控是很有必要的,可以帮忙开发人员分析、定位问题常规开启JavaJMX方法一般可以在启动脚本中添加相关的参数-Dcom.sun.management.jmxremote.port=6543-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=......
  • spring事务里面开启线程插入,报错了是否会回滚?
    1.前言一道非常有意思的面试题目。大概是这样子的,如果在一个事务中,开启线程进行插入更新等操作,如果报错了,事务是否会进行回滚2.代码示例1@RequestMapping("/test/publish/submit")publicStringtestPublish1(){ log.info("start..."); transactionTemplate.execute(new......
  • linux 防火墙开启
    https://cloud.tencent.com/developer/article/2170746firewall-cmd--set-default-zone=trustedfirewall-cmd--permanent--new-zone=newzonefirewall-cmd--permanent--zone=newzone--add-source=10.153.184.199firewall-cmd--permanent--zone=newzone--add-port=......
  • ubuntu 防火墙开放端口(开启ssh)
    ubuntu开放端口:sudoufwstatus(查看防火墙是否开启)sudoufwenable(开启防火墙)sudoufwallow22(开启22号端口)验证端口ss-tnl|grep22(对应端口号)命令监听端口事件。使用命令ps-e|grepssh查询是否有sshd这个守护进程。如果没有则使用sudoaptinstallopenss......