tomcat压缩优化和缓存策略
tomcat压缩内容
tomcat的压缩优化就是将返回的html页面等内容经过压缩,压缩成gzip格式之后。发送给浏览器,浏览器在本地解压缩的过程。
对于页面量信息大或者带宽小的情况下用压缩方式还是蛮适用的。
开启tomcat进行压缩的设置
将
1
2
3
4
|
< Connector port = "8080" protocol = "HTTP/1.1" connectionTimeout = "20000" redirectPort = "8443" /> |
设置为:
1
2
3
4
5
6
7
8
9
|
< Connector port = "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压缩优化和缓存策略的更多相关文章
- Tomcat并发优化和缓存优化
Tomcat并发优化 1.调整连接器connector的并发处理能力 在Tomcat 配置文件 server.xml 中的 <Connector ... /> 配置中 1.参数说明 max ...
- 配置 FIS 来适配 go revel 框架以优化前端缓存策略
对于前端工程师来说,浏览器缓存优化是个永远的话题.前几天看了知乎上的一个问答:<大公司里怎样开发和部署前端代码?>,深以为然,所以决心使用 FIS 来优化自身的前端文件. 我们的项目使用了 ...
- 深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存(企业Hadoop应用核心产品)
一.本课程是怎么样的一门课程(全面介绍) 1.1.课程的背景 作为企业Hadoop应用的核心产品,Hive承载着FaceBook.淘宝等大佬 95%以上的离线统计,很多企业里的离线统 ...
- iOS网络加载图片缓存策略之ASIDownloadCache缓存优化
iOS网络加载图片缓存策略之ASIDownloadCache缓存优化 在我们实际工程中,很多情况需要从网络上加载图片,然后将图片在imageview中显示出来,但每次都要从网络上请求,会严重影响用 ...
- ExoPlayer Talk 01 缓存策略分析与优化
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Android studio 2.3.3 | ExoPlayer r2.5.1 使用 ExoPlayer已经有一段时间了, ...
- Tomcat性能优化之(一) 启动GZIP压缩
Tomcat性能优化之(一) 启动GZIP压缩 1:设置TOMCAT启用GZIP压缩,通过浏览器HTTP访问对应的资源会根据配置进行压缩. <Connector port="8080& ...
- Win10《芒果TV》更新v3.8.40青春版:优化推送策略、新增缓存清理
芒果TV暑期重磅活动-青春芒果节拉开帷幕,炫酷的3D视觉大秀.王牌IP互动体验馆.众星云集的青春炙燥夜晚会.神秘的芒果吉祥物发布,Win10版<芒果TV>全平台同步更新青春版v3.8.40 ...
- Tomcat 基础优化
作者:北京运维 本文档是身边一些朋友.技术大佬之前分享的一些笔记,记录了 Tomcat 优化方法,笔记较多而且比较杂乱,经过整理.分类我个人觉得大致可以从以下几个方面优化 Tomcat: Tomcat ...
- 【安卓中的缓存策略系列】安卓缓存策略之综合应用ImageLoader实现照片墙的效果
在前面的[安卓缓存策略系列]安卓缓存之内存缓存LruCache和[安卓缓存策略系列]安卓缓存策略之磁盘缓存DiskLruCache这两篇博客中已经将安卓中的缓存策略的理论知识进行过详细讲解,还没看过这 ...
随机推荐
- jsp静态化之简单介绍
package com.zwd.text; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputS ...
- ubuntu12.04 安装 opencv 2.4.8(非源代码编译)
一:安装所须要的各种库,如GTK3.xx 安装GCC:sudo apt-get install build-essential 安装CMakesudo apt-get install cmake su ...
- Windows 7中怎样找到真正的Administrator账户
出于安全因素方面的考虑,默认情况下 Windows 7 的系统管理员 Administrator 账户处于禁用状态.需要使用时,开启它其实也很简单,并不需要复杂的操作. 方法一:从系统管理中启用Adm ...
- 批处理运行python
@echo off cd C:\test start python test.py start python test2.py exit
- cPickle.so:: PyUnicodeUCS2_DecodeUTF8
cPickle.so:: PyUnicodeUCS2_DecodeUTF8错误 Python编译的参数,和Python module(mod_wsgi, pymodwsgi)编译参数不一,导致一些un ...
- 基于FPGA的红外遥控解码与PC串口通信
基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...
- ASP.NET常被忽视的一些细节
原文:ASP.NET常被忽视的一些细节 前段时间碰到一个问题:为什么在ASP.NET程序中定时器有时候会不工作? 这个问题看起来很奇怪,代码好像也没错,但就是结果与预期不一致. 其实这里是ASP.NE ...
- 更改EBSserver域名/IP
more: 341322.1 : How to change the hostname of an Applications Tier using AutoConfig 338003.1 : How ...
- abap alv multiple header using write
A standard SAP ALV list report will show only one line header, but there will be a requirement somed ...
- Android自己定义控件——3D画廊和图像矩阵
转载请注明出处:http://blog.csdn.net/allen315410/article/details/39932689 1.3D画廊的实现 我们知道android系统已经为我们提供好了一个 ...