`
John_Kong19
  • 浏览: 272097 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

压缩网页内容提高web应用效率

阅读更多
按照调优指南,一个重要的原则就是对js、css等文件采用Gzip、deflate等压缩工具进行压缩,以降低网络传输带宽。

1、网页压缩原理
    网页压缩是一项由WEB服务器(应用服务器)和浏览器之间共同遵守的协议,也即WEB服务器(应用服务器)和浏览器都必须支持该技术,现在流行的浏览器 (IE、FireFox、Opera )都是支持的;Lighttpd、Apache 、Ngix、 IIS、Tomcat等应用服务器或web服务器都支持。双方的协商过程如下:

浏览器请求某URL,并在请求的头 (head) 中设置属性 accept-encoding 值为 gzip, deflate,表明浏览器支持 gzip 和 deflate 这两种压缩方式(事实上 deflate 也是使用 gzip 压缩协议);
WEB 服务器接收到请求后判断浏览器是否支持压缩,如果支持就传送压缩后的响应内容,否则传送不经过压缩的内容;
浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显示响应页面的内容。
    具体的交互过程可以利用Livehttpheader来查看http的交互过程。

2、网页压缩的方法
对JS、CSS文件压缩分为两大方面:

对js、CSS采用yuicompressor、JsPacker这样的工具对js等文件进行压缩。主要是删除诸如空行、回车换行、注释等无用的字符,减少文件本身的大小,这也是诸如jquery、prototype等javascript库发布时候所采用的方法。
采用应用服务器(web服务器)及浏览器对gzip、deflate等压缩方法的支持来对请求进行实时的压缩
    在实际应用时候,应当结合两种方法来使用。在大型应用中,会采用lighttpd、apache这样的web服务器来做前端,可以在lighttpd或 apache中配置gzip、deflate支持。这里只是简单说明一下采用Jboss对gzip的支持来提高web应用程序的效率

3、Tomcat 开启Gzip :

1.找到Tomcat 目录下的conf下的server.xml,并找到如下信息

Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"
将它改成如下的形式(其实在上面代码的下面已经有了,将他们打开而已。):

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml" >
这样,就能够对html和xml进行压缩了,如果要压缩css 和 js,那么需要将

compressableMimeType=”text/html,text/xml”加入css和js:

<Connector port="8080" ......... compressableMimeType="text/html,text/xml,text/css,text/javascript" >
你甚至可以压缩图片:

compressableMimeType=”text/html,text/xml”加入css和js:

<Connector port="8080" ......... compressableMimeType="text/html,text/xml,text/css,text/javascript,image/gif,image/jpg" >
开启后重启Tomcat ,通过浏览器查看headers信息就能看到是否开启(firebug中有),如果开启了,那么transfer-encoding就会是Gzip,否则就是chunked。
分享到:
评论

相关推荐

    Web应用项目的优化()

    前端优化是Web应用开发的重点之一,通过减小页面请求量、压缩和合并JS和CSS文件、优化图片大小和清晰度等方式来减少页面加载时间和提高用户体验。同时,可以使用浏览器缓存技术来减少页面请求次数,从而提高页面响应...

    JAVA文件压缩与解压缩实践(源代码+lw).zip

    这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...

    SmartSoftHelp最专业的SqlServer优化工具,最专业的c#代码生成器

    2.web应用优化(json,sql ,web前端html,css,js压缩格式化代码,web客户端性能提升) 3.数据库性能优化,数据库参数设置,查询,数据库连接字符串优化,SQL耗时优化,SQL格式化,SQL美化 4.服务器高并发性能优化( ...

    whitenoise:彻底简化了Python Web应用程序的静态文件服务

    WhiteNoise为您提供最佳实践,例如: 提供压缩的内容(gzip和Brotli格式,正确处理Accept-Encoding和Vary标头) 在不会改变的内容上设置远距离缓存头担心使用Python提供静态文件的效率非常低吗? 还是认为您应该...

    Java学习:08.解压缩安装tomcat并发布.md

    它被广泛用于开发Web应用程序、企业级应用程序、移动应用程序、嵌入式系统和消费类电子产品等。Java提供了丰富的类库和工具,使开发人员能够快速构建各种类型的应用程序。 Java语言具有面向对象的特性,包括封装、...

    版本:5.0.0.0 它的主要功能可以被分为3个主要部分:PDF的创建,PDF的编辑和PDF格式的填充

    最终确定的pdf文件被压缩以使得该库能够适用于Web应用程序。PDF4NET库能够从WinForms and WebForms (ASP.NET)应用程序中直接 使用而不受任何限制。同时,相同的包包括了该库的压缩.NET框架(Compact .NET Framework...

    PDF4NET v3.3.5 Cracked

    最终确定的pdf文件被压缩以使得该库能够适用于Web应用程序。PDF4NET库能够从WinForms and WebForms (ASP.NET)应用程序中直接使用而不受任何限制。同时,相同的包包括了该库的压缩.NET框架(Compact .NET Framework)...

    Nginx开启Brotli压缩算法实现过程详解

    在web应用中,为了节省流量,降低传输数据大小,提高传输效率,常用的压缩方式一般都是gzip,今天我们来介绍另外一种更高效的压缩方式brotli。 Brotli 是基于LZ77算法的一个现代变体、霍夫曼编码和二阶上下文建模。...

    IIS开启GZIP压缩效率对比及部署方法小结

    HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如GZIP等压缩HTML、JavaScript或CSS文件。

    SSO CAS 单点登录实例SSOAuth+SSOWebDemo1+SSOWebDemo2.zip

    这些系统的目的都是让计算机来进行复杂繁琐的计算工作,来替代人力的手 工劳动,提高工作效率和质量。这些不同的系统往往是在不同的时期建设起来的,运行在不同的平台上;也许是由不同厂商开发,使用了各种不同的...

    计算机应用-2.docx

    教学录像作为一种视、音教学资源多年来一直是教学与实验的重要辅助手段,它通太多感官的刺激,调动学生的积极反响,激发兴趣,活跃思维,能提高教学质量与教学效率,而且利用教学录像进行教学是多年来很多老师乐于...

    Visual C# 2005编程技巧大全 源码

    全书内容涵盖了大量的Visual C# 2005 编程新技术和新理念,包括ToolStrip控件应用、泛型应用、注册表管理、WMI管理规范使用、XML文件处理、多线程处理、程序异常处理、文件压缩及解压缩、文件加密解密、文件访问权限...

    基于SSM+MySQL大学生就业信息管理系统源码+数据库(毕业设计).zip

    这个系统是一个毕业设计项目,旨在帮助学生管理和查询就业信息,提高就业管理的效率。通过提供源码和数据库文件,用户可以学习和理解 SSM 框架的使用方法,掌握 Web 开发中的后端技术和数据库设计,从而在实际项目中...

    PB2019R2.zip

    Appeon PowerBuilder 2019是一款...我们这款软件的客户端应用程序开发采用新的UI技术和云架构进行了改进,可以大幅度的提高用户的工作效率。使用成熟的技术标准进行视觉开 部署设备,操作系统和数据库无关的应用程序。

    Visual C++ 2005 编程技巧大全光盘

    全书内容涵盖了大量的Visual C++ 2005编程新技术和新理念,包括ToolStrip控件应用、泛型应用、注册表管理、WMI管理规范使用、XML文件处理、多线程处理、程序异常处理、文件压缩及解压缩、文件加密解密、文件访问权限...

    pr1:飘刃,约定大于配置的极速 Web 应用打包工具,支持 .vue 文件,生产使用 Rollup 打包

    约定大于配置的极速 Web 应用打包工具,支持 .vue 文件,生产使用 Rollup 打包 仅供学习研究,请勿用于生产 仓库 【Github】 【 码 云 】 特点优势 速度快,开发过程中无需 babel 转译,飘刃只转 import/export ,...

    asp服务器端

    下载后,解压缩,直接双击打开“543web主程序”即可使用。 打开后可以选择“电脑开机后自动开始服务”,这样会设置成自启动的系统服务。 其它: run543web.exe文件不可以改文件名,必须和主程序放在同个文件夹中...

    jQuery攻略

    本书从实际应用角度出发,介绍了使用jQuery的方方面面,不仅包括处理字符串等比较基础的内容,还涉及表单验证、视觉特效等进阶知识,以及如何使用它来实现Ajax功能,如何使用插件得到更高的开发效率。等等。几乎囊括...

    Visual C#2008开发经验与技巧宝典 源码

    全书内容涵盖了大量的Visual C#2008编程新技术和新理念,包括LINQ在SQL、Data Set、XML和Object等领域的实际应用,WPF动画界面设计,WCF多层数据架构通信、泛型应用、XML文件处理、多线程管理、程序异常拦截、文件...

    PixelDrain_Client_Old:截取屏幕截图和其他文件并将其上传到Web服务器进行共享的应用程序

    这个应用程序是我有史以来的第一个Java项目,它的bug和效率很低。 客户端的更新版本已存在,但尚未开源 用于获取屏幕截图和其他文件并将其上传到Web服务器进行共享的应用程序。 您可以从GitHub下载最新版本: 。 要...

Global site tag (gtag.js) - Google Analytics