tomcat压缩内容

tomcat的压缩优化就是将返回的html页面等内容经过压缩,压缩成gzip格式之后。发送给浏览器,浏览器在本地解压缩的过程。

对于页面量信息大或者带宽小的情况下用压缩方式还是蛮适用的。

开启tomcat进行压缩的设置

1
2
3
4
<Connectorport="8080"
 protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>

设置为:

1
2
3
4
5
6
7
8
9
<Connectorport="8080"
  protocol="HTTP/1.1"
  connectionTimeout="20000"
  redirectPort="8443"
  compression="on"
  compressionMinSize="2048"
  noCompressionUserAgents="gozilla,traviata"
  compressableMimeType="text/html,text/xml,text/css,application/javascript,text/plain"
 />

当中:

●compression="on"   打开压缩功能 

     ●compressionMinSize="2048"启用压缩的输出内容大小,默觉得2KB 

     ●noCompressionUserAgents="gozilla,traviata" 对于下面的浏览器,不启用压缩 

     ●compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些资源类型须要压缩

效果:

没有开启压缩的情况下 http://localhost/docs/
13605字节

开启之后
訪问  http://localhost/docs/ 4244字节

tomcat缓存策略

过程:

①浏览器第一次请求tomcatserver某资源

②tomcat查询到该资源。并将该资源最后改动的时间保存在响应头的Last-Modified中 (Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT)

③浏览器第二次訪问tomcat请求该资源。并将之前该资源的最后改动时间放入If-Modified-Since请求头中

④server收到该请求,比較该请求中的If-Modified-Since与资源最后改动时间Last-Modified是否一致,假设一致则不向其发送该资源并向其发送响应代码304告诉其去本地取缓存。

(Last-Modified与If-Modified-Since仅仅能将改动时间精确到秒。Etag与If-None-Match 将改动时间精确到微秒)

* ETag: W/"13397-1184876416000" tomcat生成Etag 13397文件大小

* client下次请求时通过If-None-Match 携带刚刚 Etag信息

控制该程序在client不缓存

在response设置头文件(三句话都设置。防止浏览器的兼容问题)

Expires: -1

Cache-Control: no-cache  

Pragma: no-cache

response.setHeader(“Cache-Control”,”no-cache”);

response.setDateHeader(“Expires”,-1);

response.setHeader(“Pragma”,”no-cache”);

* 对于动态程序,常常改动, 禁止浏览器缓存内容

tomcat压缩优化和缓存策略的更多相关文章

  1. Tomcat并发优化和缓存优化

    Tomcat并发优化 1.调整连接器connector的并发处理能力 在Tomcat 配置文件 server.xml 中的 <Connector ... /> 配置中 1.参数说明 max ...

  2. 配置 FIS 来适配 go revel 框架以优化前端缓存策略

    对于前端工程师来说,浏览器缓存优化是个永远的话题.前几天看了知乎上的一个问答:<大公司里怎样开发和部署前端代码?>,深以为然,所以决心使用 FIS 来优化自身的前端文件. 我们的项目使用了 ...

  3. 深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存(企业Hadoop应用核心产品)

    一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景       作为企业Hadoop应用的核心产品,Hive承载着FaceBook.淘宝等大佬 95%以上的离线统计,很多企业里的离线统 ...

  4. iOS网络加载图片缓存策略之ASIDownloadCache缓存优化

    iOS网络加载图片缓存策略之ASIDownloadCache缓存优化   在我们实际工程中,很多情况需要从网络上加载图片,然后将图片在imageview中显示出来,但每次都要从网络上请求,会严重影响用 ...

  5. ExoPlayer Talk 01 缓存策略分析与优化

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Android studio 2.3.3 | ExoPlayer r2.5.1 使用 ExoPlayer已经有一段时间了, ...

  6. Tomcat性能优化之(一) 启动GZIP压缩

    Tomcat性能优化之(一) 启动GZIP压缩 1:设置TOMCAT启用GZIP压缩,通过浏览器HTTP访问对应的资源会根据配置进行压缩. <Connector port="8080& ...

  7. Win10《芒果TV》更新v3.8.40青春版:优化推送策略、新增缓存清理

    芒果TV暑期重磅活动-青春芒果节拉开帷幕,炫酷的3D视觉大秀.王牌IP互动体验馆.众星云集的青春炙燥夜晚会.神秘的芒果吉祥物发布,Win10版<芒果TV>全平台同步更新青春版v3.8.40 ...

  8. Tomcat 基础优化

    作者:北京运维 本文档是身边一些朋友.技术大佬之前分享的一些笔记,记录了 Tomcat 优化方法,笔记较多而且比较杂乱,经过整理.分类我个人觉得大致可以从以下几个方面优化 Tomcat: Tomcat ...

  9. 【安卓中的缓存策略系列】安卓缓存策略之综合应用ImageLoader实现照片墙的效果

    在前面的[安卓缓存策略系列]安卓缓存之内存缓存LruCache和[安卓缓存策略系列]安卓缓存策略之磁盘缓存DiskLruCache这两篇博客中已经将安卓中的缓存策略的理论知识进行过详细讲解,还没看过这 ...

随机推荐

  1. Effective C++_笔记_条款03_尽可能使用const

    (整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 关键字const多才多艺,语法变化多端.关于const的基本用法 ...

  2. kernel hexdump分析 (2.0)

    有的时候print_hex_dump_bytes循环打印很多信息的时候(大于1K) 用UART串口打印的信息总是会有丢失,估计是printk缓冲区的问题把,具体原因不是太清楚 于是自己写了个比较笨的d ...

  3. javascript中apply和eval结合的强大用法

        eval是一个函数,可以接受一个参数,这个参数可以作为js语句被解释性的执行,利用这个特性,eval和apply结合起来,可以大大简化代码  如下例子 <a class="cl ...

  4. treeview树形菜单,递归

    我使用的是递归是实现无限级树形菜单: using System; using System.Collections; using System.Configuration; using System. ...

  5. cocos2d-x游戏开发系列教程-编译运行我们的第一个cocos2d-x游戏程序

    环境准备和介绍: 操作系统:64位Windows 7 sp1(Microsoft Windows [版本 6.1.7601]) 必要的软件和源码: visual_studio_ultimate_201 ...

  6. struts2由&lt;s:tree&gt;要么dtree小工具 建立树

    一个 .<s:tree>方法: 1.引入新的标签: <%@ taglib prefix="sd" uri="/struts-dojo-tags" ...

  7. asp于Server.MapPath用法

    总是忘记Server.MapPath的用法,以下记录了,以后使用: 总注:Server.MapPath获得的路径都是server上的物理路径,也就是常说的绝对路径 1.Server.MapPath(& ...

  8. Lucene.Net 2.3.1开发介绍 —— 二、分词(三)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(三) 1.3 分词器结构 1.3.1 分词器整体结构 从1.2节的分析,终于做到了管中窥豹,现在在Lucene.Net项目中添加一个类关 ...

  9. 微微信.NET:开源的ASP.NET微信公众号应用平台

    题记: 平时喜欢使用 C# 编程.近半年玩微信公众平台,看到一些微信的应用系统大多是PHP.Python的,于是就有想法做一套开放的 C# ASP.NET的微信应用系统. 微微信.NET  基于ASP ...

  10. 为什么EXE文件出现了不该出现的“盾牌”

    下载了一个小程序,它的功能并不需要管理员权限.但是在Win7下面它的图标上出现了一个“小盾牌”,这意味着运行它需要提升权限……果然,双击时弹出了UAC对话框.用二进制编辑器打开这个EXE,发现它没有内 ...