gzip压缩启用不启用还是要看实际情况的,启用gzip后可以相应的减轻带宽压力但是同时也会增加cpu的压力(压缩解压),相反的如果不启用那么cpu压力也会相应的减少,具体情况具体分析.

Linux开启gzip很简单

找到tomcat下conf目录

编辑server.xml文件

vim server.xml

找到Service节点下的Connector

新增四个属性

<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"//是否启用压缩
compressionMinSize="2048"
noCompressionUserAgents=""
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
/>

compression="on"//是否启用压缩
compressionMinSize="2048"//只有超过当前设置数值大小的页面才启用压缩(单位是字节B)如果不指定默认大小为2048

------------------------------eg:begin------------------------------

比如我就想看这个index.html页面的压缩效果,这里的158953就可以作为compressionMinSize这里设置的值,接下来实验一下

1).compressionMinSize="158952",理论上页面就会压缩,因为158953超过了158952

实际效果

谷歌浏览器

size上面是最终请求的大小下面是实际大小

火狐浏览器

发现压缩已经生效

2).接下来改成compressionMinSize="158954"

实际效果

谷歌浏览器

火狐浏览器

没有压缩,OK.

3).compressionMinSize="158953"

如果是相等的话也不会压缩,有兴趣的可以去试试

------------------------------eg:end------------------------------

noCompressionUserAgents=""这些浏览器中不启用压缩,值为一个正则表达式(用java.util.regex去匹配)

------------------------------eg:begin------------------------------

因为我手头只有谷歌浏览器跟火狐浏览器,IE我现在已经抛弃了,就拿谷歌来测试一下

字段的意思是"不压缩的user-agent",user-agent 用过谷歌.火狐的开发者工具的人应该都知道在哪看当前一个请求的user-agent

谷歌里

火狐里

接下来准备实验的目的就是在谷歌里不压缩在火狐里压缩

1).首先我需要写个正则匹配一下谷歌浏览器的user-agent

public static void main(String[] args) {

  boolean matches = java.util.regex.Pattern.matches(".*Chrome.*?", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)   Chrome/57.0.2987.133 Safari/537.36");
  System.out.println(matches);

}

输出结果

true

2).设置一下server.xml

compressionMinSize="158951"

noCompressionUserAgents=".*Chrome.*?"

重启服务器看效果

谷歌浏览器

没有压缩

火狐浏览器

还是处于压缩状态中,也OK

------------------------------eg:end------------------------------

compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" 这个就没什么说的了需要压缩的资源类型

参考文章:https://examples.javacodegeeks.com/enterprise-java/tomcat/enable-gzip-compression-apache-tomcat/ 第七点,这里有些地方比我说的详细

如果对gzip原理感兴趣的也可以去百度谷歌上去搜搜看.

欢迎交流学习,如需转载请注明出处,谢谢.

网站启用gzip压缩的更多相关文章

  1. 网站启用GZip压缩后,速度快了3倍!

    GZip压缩,是一种网站速度优化技术,也是一把SEO优化利器,许多网站都采用了这种技术,以达到提升网页打开速度.缩短网页打开时间的目的. 本文是一篇研究性文章,将通过某个案例来给大家显示网站采用GZi ...

  2. IIS启用GZip压缩

    IIS启用GZip压缩,是提高网站速度和减轻服务器负载的一个优化手段和方法,经测试,网站启用GZip压缩后,速度快了3倍!而配置起来也相当的简单,因此被广大网站管理员使用.本文将详细介绍如何在IIS启 ...

  3. 在IIS上启用Gzip压缩(HTTP压缩)

    一.摘要 本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度. 二.前言. 本文的知识点是从互联网收集整理, 主要来源于中文wiki.  使用Y ...

  4. IIS启用GZip压缩的详细教程(图文)

    本文将详细介绍如何在IIS启用GZip压缩,同时解决可能遇到的一些问题 IIS启用GZip压缩,是提高网站速度和减轻服务器负载的一个优化手段和方法,经测试,网站启用GZip压缩后,速度快了3倍!而配置 ...

  5. IIS7 启用GZip压缩

    GZip压缩通常会达到70%以上的压缩率,如果是手机Web这无疑会使网站的访问速度大大增加,无论是CSS合并.JS合并.图片合并都不如GZip压缩来得简单直接.如果一个网页是100K,那么启用GZip ...

  6. 【Web优化】Yslow优化法则(四)启用Gzip压缩

    Yslow的第4个经验法则指出:启用gzip压缩功能,能够降低HTTP传输的数据和时间,从而降低client请求的响应时间. 本篇是Yslow法则的第四个,主要包含三个方面的内容: 1.      什 ...

  7. 网页启用Gzip压缩 提高浏览速度

    启用Gzip压缩的好处 它的好处显而易见,提高网页浏览速度,无论是之前说的精简代码.压缩图片都不如启用Gzip来的实在.下图为启用Gzip后的效果. Gzip压缩效率非常高,通常可以达到70%的压缩率 ...

  8. IIS启用GZIP压缩js、css无效的原因及解决方法

    IIS启用GZIP压缩之后,原以为可以压缩所有文件了,包括html.CSS.JS.图片这些文件,但是当我检查的时候,发现并不是这样的,压缩的只有html文件,而CSS.JS并没有压缩 在卡卡网的网站速 ...

  9. Nginx启用Gzip压缩js无效的原因

    Nginx启用gzip很简单,只需要设置一下配置文件即可完成,可以参考文章Nginx如何配置Gzip压缩功能.不过,在群里常有人提到,他们的网站Gzip压缩虽然成功了,但检测到JS仍然没有压缩成功,这 ...

随机推荐

  1. table标签中thead、tbody、tfoot的作用

    为了让大表格(table)在下载的时候可以分段的显示,就是说在浏览器解析HTML时,table是作为一个整体解释的,使用tbody可以优化显示.如果表格很长,用tbody分段,可以一部分一部分地显示, ...

  2. linux的文件权限小结

    对于初接触Linux的朋友来说,会有各种不习惯和各种昏头,文件的权限就很让人不知所措. ls命令以及字段含义 比如我们列出当前目录文件: 我们来看下上述大致含义: 第1行显示的信息: 总用量(tota ...

  3. 浅谈Java的集合体系

    集合体系框架图 集合接口 Java集合类库将接口(interface)与实现(implementation)分离,如上图,Set是一个集合接口,而HashSet与TreeSet都是实现了Set接口的子 ...

  4. Python开发【第十八篇】Web框架之Django【基础篇】

    一.简介 Python下有许多款不同的 Web 框架,Django 是重量级选手中最有代表性的一位,许多成功的网站和APP都基于 Django. Django 是一个开放源代码的Web应用框架,由 P ...

  5. 基于Spring Cloud和Netflix OSS 构建微服务-Part 1

    前一篇文章<微服务操作模型>中,我们定义了微服务使用的操作模型.这篇文章中,我们将开始使用Spring Cloud和Netflix OSS实现这一模型,包含核心部分:服务发现(Servic ...

  6. ios8指纹识别

    简介 苹果从iPhone5S开始,具有指纹识别技术,从iOS8.0之后苹果允许第三方 App 使用 Touch ID进行身份验证.指纹识别Touch ID提供3+2共5次指纹识别机会(3次识别失败后, ...

  7. Docker基础入门及示例

    Docker近几年的发展可谓一日千里,特别从是2013年随着一个基于LXC的高级容器引擎开源,到现在,其在linux和windows上都有了很好的支持,并且已经有很多公司将docker用于实际的生产环 ...

  8. NIO(三、Channel)

    目录 NIO(一.概述) NIO(二.Buffer) NIO(三.Channel) Channel 上文说了描述了Buffer的实现机制,那么这个章节就主要描述数据是如何进入缓冲区的,并且又是如何从缓 ...

  9. 利用python的爬虫技术爬去糗事百科的段子

    初次学习爬虫技术,在知乎上看了如何爬去糗事百科的段子,于是打算自己也做一个. 实现目标:1,爬取到糗事百科的段子 2,实现每次爬去一个段子,每按一次回车爬取到下一页 技术实现:基于python的实现, ...

  10. ABC: Always Be Coding

    ABC: Always Be Coding (原地址:https://medium.com/@davidbyttow/abc-always-be-coding-d5f8051afce2)   Be h ...