安泰信息

2008年12月16日

apache静态文件压缩,提高网络流量

归档在: apache, jboss — JACKEYJ @ 4:28 PM

    本文主要介绍如何通过对页面进行压缩从而节省网站的带宽以及提升用户的访问速度。

网站的访问速度是由多个因素所共同决定的,这些因素例如应用程序的响应速度、网络带宽、服务器性能、与客户端之间的网络传输速度等等。其中最重要的一个因素是应用程序本身的响应速度,因此当你为网站性能所苦恼时,你第一个需要着手进行处理的便是尽可能的提升应用程序的执行速度,你可以使用缓存或者是优化代码的执行效率来提升应用程序的速度。

但是,本文并不是介绍如何来提升应用程序的执行效率,前面提到的只不过是为了防止您病急乱投医。在确保您的应用程序的性能已经达到足够好,同时服务器的性能也完全满足的情况下,不妨来试试网页压缩来进一步提升网页的浏览速度,而且非常重要的是,它完全不需要任何的成本,只不过是会让您的服务器CPU 占用率稍微提升一两个百分点而已或者更少。

网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE、FireFox、Opera 等;服务器有 Apache 和 IIS 等。双方的协商过程如下:

   1. 首先浏览器请求某个 URL 地址,并在请求的头 (head) 中设置属性 accept-encoding 值为 gzip, deflate,表明浏览器支持 gzip 和 deflate 这两种压缩方式(事实上 deflate 也是使用 gzip 压缩协议,下面我们会介绍二者之间的区别);
   2. WEB 服务器接收到请求后判断浏览器是否支持压缩,如果支持就传送压缩后的响应内容,否则传送不经过压缩的内容;
   3. 浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显示响应页面的内容。

在实际的应用中我们发现压缩的比率往往在 3 到 10 倍,也就是本来 50k 大小的页面,采用压缩后实际传输的内容大小只有 5 至 15k 大小,这可以大大节省服务器的网络带宽,同时如果应用程序的响应足够快时,网站的速度瓶颈就转到了网络的传输速度上,因此内容压缩后就可以大大的提升页面的浏览速度。

接下来我们介绍几种常用的环境下如何启用网页压缩功能。

纯 Tomcat 服务器

如果您的 WEB 应用程序是跑在 Tomcat 服务器下的,而且直接使用 Tomcat 所提供的 HTTP 服务,那建议你马上动手,因为实在是太简单了,你只需要在 server.xml 配置文件中给 HTTP Connector 增加一个 compression 的参数值为 on 并重启 Tomcat 服务器就立刻生效,配置如下:

    <Connector port=”8080″ protocol=”HTTP/1.1″
               maxThreads=”150″ connectionTimeout=”20000″
               redirectPort=”8443″ compression=”on”/>

Tomcat 采用的是 HTTP/1.1 的 GZIP 压缩协议,它会根据浏览器送过来的请求中的 accept-encoding 值是否包含 gzip 来判断浏览器是否支持 gzip 压缩协议,如果浏览器支持就启用 gzip 压缩,否则就不进行任何压缩处理。Tomcat 中还有另外一个参数 compressableMimeType,这个参数可以用来指定压缩哪种类型的内容,例如可以指定该配置值为:text/html,text /plain ,则只压缩 contentType 为 text/html 和 text/plain 的页面,不过您最好也将 css 和 javascript 文件也算在压缩的文件类型中,因为这两者的压缩效果也十分的明显。

    回页首

Apache 服务器

在 apache 1.3 版本,大家常用 mod_gzip 对输出内容进行压缩,现在主流的浏览器都支持 gzip 解压缩。在 apache2 下,这个模块换名为 mod_deflate,对应的模块文件名是 mod_deflate.so。mod_gzip 本文不做介绍,下面描述一下在 Apache 2 下如何启用并配置 mod_deflate 模块。默认安装的 Apache 不管是 Windows 还是 Linux/Unix,都是不启用该模块的, Linux/Unix 下甚至不带该模块,你需要手工编译这个模块。

下面我们分别介绍在 Windows 和 Linux 操作系统下如何启用并配置 mod_deflate 模块。

在 Windows 下采用安装程序安装的 Apache 服务器已经带有 deflate 所需要的模块 mod_deflate.so 和 mod_headers.so,我们只需要在 httpd.conf 配置文件中启用并进行相关的配置即可,配置如下:

LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
<Location />
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems…
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won’t work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Don’t compress images
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>

而如果是 Linux/Unix 操作系统,如果你没有在编译安装的过程中将所需要的两个模块 mod_deflate 和 mod_headers 编译进去的话,那就稍微有点麻烦,首先我们先看如何在编译安装 Apache 过程中也同时编译这两个模块,请在执行 configure 程序时增加两个参数分别是:

# ./configure –enable-deflate –enable-headers

这样在编译完 Apache 后就可以直接在 httpd.conf 中启用并配置 deflate 模块了,配置的方法跟 Windows 平台下是相同的。

如果说您的 Apache 已经在运行了,不想再重新编译一次,那也可以选择只编译 deflate 模块所需的文件 mod_deflate.c 和 mod_headers.c。这两个文件位于 {apache-src}/modules/filters/ 目录下(其中 {apache-src} 为 apache 源文件所在的目录)。使用如下命令来单独编译这两个源文件。

# {apache-bin}/apxs -i -a -c {apache-src}/modules/filters/mod_deflate.c
# {apache-bin}/apxs –i –a –c {apache-src}/modules/filters/mod_headers.c

其中 {apache-bin} 为 Apache 安装目录下的 bin 目录,接下来在 httpd.conf 直接配置该模块即可。

很多时候你在单独编译 deflate 模块的时候可能会碰到编译错误,提示是:

Cannot load /opt/apache/modules/mod_deflate.so into server: /opt/apache/modules/mod_deflate.so: undefined symbol: deflate

解决的方法如下:

编辑 /usr/local/apache2/bin/apr-config 文件修改其中的 LDFLAGS 值为 “-lz”,然后再重新编译 mod_deflate 模块,apxs -ica mod_deflate.c 即可。

为了省却不必要的麻烦,请尽量在编译安装时直接加上 –enable-deflate –enable-headers 参数。

我的实施内容:

#run cmd add mod to apache
/infowarelab/apache2/bin/apxs -i -a -c /infowarelab/src/httpd-2.2.3/modules/filters/mod_deflate.c
/infowarelab/apache2/bin/apxs -i -a -c /infowarelab/src/httpd-2.2.3/modules/metadata/mod_headers.c

#add conf in httpd.conf

<IfModule mod_deflate.c>
 DeflateCompressionLevel 7
 AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css application/x-httpd-php
 AddOutputFilter DEFLATE css js
</IfModule>

参考文档:
http://www.ibm.com/developerworks/cn/web/wa-lo-webcompress/
http://www.hbcms.org.cn/cms/9d/1322.html

2008年12月09日

好用的工具软件:世界时钟

归档在: IT新闻 — JACKEYJ @ 10:53 AM

TimeLeft是一款世界时钟软件,不仅提高世界时钟显示,还提高便签功能,想计数器,闹钟也不少。

TimeLeft下载地址
http://www.freedownloadmanager.org/downloads/world_clock_software/

2008年12月08日

杭州机动车上牌流程

归档在: 胡说八道 — JACKEYJ @ 9:56 PM

杭州上牌提示

1上牌必须在工作日,但检测是可以在双休日的,所以有需要的TX可以在双休日去做检测。

2拓发动机号与车架号需要两套,一套检测时用,一套上牌时用。拓这个比较麻烦的,不同车的情况还不一样,最好是让4S店的人帮你拓好,否则找黄牛拓要被敲诈几十块钱的,其实自己准备好纸条及铅笔,自己也可以弄,问一下4S店人位置在哪里就行了。

3购置税是在上牌时交的,那个窗口一般比较空,可以在检测通过后就去交了。

4身份证、车辆合格证、发票、交强险证明等都是要复印的,可以事先复印好,当然也可以在上牌大厅办。自己复印要注意,第二代身份证是要复印正反两面的。

5选完号之后牌照很快就能出来的,注意一下别人是从哪个窗口拿的,放出来了后就可以拿走的,拿到外面找一下有人负责安装的,这个费用是算在服务费里面的。

6装上牌照后,去找拍照的人来给你的车拍照,人可能就在停车场,也可能要去窗口催一下。拍照是必需在现场拍的,因为照片上要有牌照号码才能做行驶证。拿到行驶证及年检标志等就完成了。

7提醒一下,最好自己带支水笔,有什么不明白的可以问保安。我自己一个人弄的,不想让4S赚这个钱。在友通上的牌,没人指导的情况上牌花了半天时间搞定。检测是前一天做的

新车上牌完全攻略(杭州网友亲历版)

我要花好几个晚上才能完成《新车上牌完全攻略》,想想先贴上来,让大家一起参与:

1、当你把新车开回家后,你还面临着买保险、交各种税费、上牌照等繁琐事情。

     当然你可以交给车商代为办理。如果你愿意尝试自己花点时间办理,或许半天也够了,并完全有可能为你省不少票子。何况,做牌照,要把新车开去。你会把自己的新车交给一个陌生人来开?更何况,你不亲临现场选号码?还有,几个上牌点,备选号码可能完全不一样,尤其中间的英文字母,有些人可能会偏爱其中的一个。我上牌时,车城里的号码是2S,车管所里的号码是9Q。想一想各位会选哪个?

我亲身经历了全过程。找一个同伴,帮你排排队,半天时间能办下来。最近车市不热,上牌也不拥挤,一个人半天也能办好。关键是了解程序,做好准备工作。

2、购车前,找几家保险公司比较,并确定一家。这样一来,新车从车商那开出,就可直奔保险公司(预先约好,中午或晚上就可能把保险做好),或许半小时就能把保险搞定,当天晚上12点一过就生效,开起车来就放心了。

3、在付车款时,一并把接下来用的钱提出现金,省了跑好几趟银行。

4、带上几样小东西,帮助会很大:

A:白纸、铅笔(拓车架号码用,现在只要拓车架号码,让车商告诉你,或帮你拓好)。车架号拓二份。

B:钢笔、胶水

C:袋子一个(透明塑料档案袋),把一大叠资料装起来。

D:如果需要牌照框最好自己买好带去,里面贵而且质量差

E:车主的身份证及复印件(A4),代办人的身份证及复印件(A4)。

6、现在可以去缴纳购置税

需要:购车发票原件和复印件一份,本人身份证。车辆合格证原件和复印件一份。

新的汽车城6楼(中午休息1:30上班夏季)

7、上牌去

我先去旧汽车城。出汽车城,东去几百米。但那儿不好:1旧房子2停车难3黄牛多

去得理由:1近2看看牌照号

我最后选择了车管所

第二部分 上牌照

一进车管所大门,向前20米右边就是登记大厅。再向前左边钢棚是验车的地方,再向前是装牌照的,右边是大的停车场。

1、 填表:一进办证大厅门口,有咨询台,问台后的工作人员拿表格。不要拿错了,你是新车!离门口10来米处,有供填表的桌子,上有样张,照着填。

2、 拓号:白纸、铅笔拓车架号码。现在只要拓车架号码二份。(让车商告诉你在哪里,或帮你拓好)。

3、 验车:开车前往检验,在大厅外右前方,钢棚下(国产小车一般不用上流水线检测,只要检查一下钢印是否相符、颜色是否和资料对得上就行了,主要是防盗);

4、 验车程序及提示:

A钢棚边是一排房子,从左到右开了几个窗口,依次为照相、复印、验车1、验车2(具体名称忘了,请更正);

B将车辆合格证原件、技术参数表原件递进验车1窗口,等一会,退给你这些材料及一张打印单。用胶水将拓好的车架号码一份(裁成一纸条,略大于拓印的号码便可)粘在打印单的(车架号码:)后。

C将这些材料及粘上车架号码打拓纸的打印单递进验车2窗口。不要跑开(或把你的车开过来),验车的人会拿了几部车的材料从窗口边的门里出来,依次验车(次序可能会打乱,试试让他先验你的车)。最主要是在叫到你的车时,你能主动领他到你车前。赶紧打开车门,车前盖(要核对车架号码)。验好车后,回到验车2窗口的门边,等着拿回你的材料,打印单上多了几颗图章,验车合格了。把车开出验车处(别人也要验车吗,不能占着地方),停好。

5、注册登记(回大厅内,7或8号窗口)

事先在一张A4白纸上用胶水粘上三样东西(车架号码拓纸纸条、购置税完税证原件上可撕下的半页、另一样请各位指点一下)。

A将验车处拿回的材料、车主的身份证及复印件(A4),代办人的身份证及复印件(A4)、粘上车架号码拓纸纸条等三样东西的白纸,一起递进7或8号窗口。

B窗口内将根据这些材料,进行注册登记。等一下,退回的身份证原件和一张《建档联系单》,保存好;另一张打印纸是选号的凭证。

6、选号:

A将作为选号凭证的打印纸递进10号窗口;

B选号过程激动人心。

7、交钱

凭10号窗口的牌照号码单,到12号窗口开票,11号窗口缴费(120元)。如排队人多,可到右边左拐,最后二个窗口缴费(但不一样的是次后窗口开票,最后窗口收钱)。晕吧!

8、 到二楼领牌照,开车去装牌照处(在哪里?前面第二部分开头讲到)。缴15元,装牌照(如果需要牌照框最好自己买好带去,听说里面贵而且质量差)。

9、 开车去拍照处(在哪里?前面第二部分6A讲到)。拍照时,人下车。车可以开到停车场了。回拍照处窗口缴20元,等一会拿二张新车的照片。

10、 回大厅,先将一张新车照片放入一个专门投照片的窗口。该窗口的号码在12号窗口之后,是一个透明玻璃投票箱,有明显标记(投照片)。

11、 这时候,你有一段时间要等(10-20分钟),可以从容地去缴“四自费”和车船使用费了。在1号窗口这边的尽头,上二楼通道的左边。二个窗口在一起。

12、 缴完“四自费”和车船使用费,回到投新车照片,再向前,不拐弯的最后一个窗口(几号,忘了)。窗口对面有许多人在等。问一下工作人员,你的车的行驶证好了吗?如还没,等等。

13、 等叫到你的新车牌照号码,凭缴完“四自费”和车船使用费的发票,领取《机动车行驶证》,《机动车登记证明》及年检合格证。年检合格证粘在车前挡玻璃内侧右上角。

14、 好了,你可以把车开回家了。我大概2:20到车管所,4:40开车回家。原本想再回一次车管所,把几个窗口号码搞清,原谅这几天没时间了,请知道的贴上来。

15、 还有,别忘了缴养路费和车子建档。全文完

爱车投保 四大招数教你更省钱

归档在: 胡说八道 — JACKEYJ @ 4:37 PM

  续保一辆颐达的车险,在该车上年无责任事故的前提下,全险费用为5680元,如果通过4S店或者保险公司代理人购买最多只能享受全险七折优惠,即需 3976元左右。但如果直接拨打电话车险服务电话向保险公司投保,那么只需要3124元。算一算,比七折的价格还省了852元。

    以上这种购买车险的“省钱”窍门,作为车主的你是否知道呢?无论是新车主还是老车主,每年都要为爱车投保车险,然而这笔费用如何才能比较划算,同时避免各种投保陷阱呢?

    焦点:车险“贵价”的猫腻在哪?

    目前国内财产险公司大约70%的业务都是车险,而车险中的交强险业务为公益性险种,商业险则为保险公司的主要盈利险种。中国平安保险公司集团渠道发展事业部总经理卢跃向记者表示:车险70%的业务一直依靠中介代理商销售,每笔业务都需要支付一笔中介费用(即佣金)。算下来,保险公司车险业务有大约30%的利润出让给中介渠道,由于一部分费用被中介“吃掉”,因此车主也无法能享受到更优惠的价格。

    而且通过代理人购买车险也风险多多,尤其是一些车险代理中介公司以超低价诱惑消费者投保,实际上低价车险猫腻多保障少,在车子出了问题之后,有可能被送到不知名的小维修厂修理。因此,选择保险公司投保车险时,最重要还是要看其配套服务。

    省钱方案一:电话车险5.5折优惠投保

    电话车险是最近一年才兴起来的车险新业务。无论是续保车险还是新车投保,通过保险公司的电话车险直接投保的话,只需要用5.5折左右的价格就能投保成功。电话车险在2007年率先由中国平安保险公司推出,免去了中间代理人,车主只需要拨打平安保险的热线电话就有专人提供服务,提供不同类型的车险险种搭配。

    不过,电话车险后续的理赔服务的质量和速度成为很多车主顾虑的原因。记者了解到,电话车险同时配套“理赔一条龙的直赔服务”,这也将成为一种趋势。就中国平安保险公司而言,目前该公司的服务网络已覆盖全国大多数重点城市,还提供全国通赔、道路救援等增值服务,还增加了“三分钟快速报价”、“量身定做投保方案”、“24小时送单上门”的服务。

    省钱方案二:不同品牌车险有差异

    “同样一辆20多万元的车,别克、福特等欧美品牌保费比本田等日系品牌要低。”卢跃说,即使是同等价位的车子,不同品牌的保费也不相同。记者发现,如PASSAT、蒙迪欧、雅阁等几款中高级车的保费报价,别克车系的车损险费用最低,雅阁等日系车型较高;同样的,全车盗抢险费用(率)雅阁最高,君威、PASSAT、蒙迪欧等基本属于同一相对风险水平,费率系数为1。雅阁由于出险率相对偏高,风险水平相差较大,费率系数为1.5,所以保费也会较高。值得一提的是,部分车型的车险还有限制性的条例,如果车主不接受,保费有可能要上浮 8%~10% 。

    省钱方案三:理赔记录越清白越划算

    据数字显示,超过90%的新车第一年的车险会在4S店购买。当第二年续保时,车主就已学会“货比三家”。续保与首年投保不同,第一年由于保险公司争相拉客,因此优惠幅度更大。但是续保时的优惠幅度则更多地看你车子的理赔记录是否良好。一般来说,车主如果在前一年的投保期限内记录良好,续保时都会得到保险公司很多的优惠。

    记者从各大保险公司了解到,如果头一年车辆没有出过险,那么在第二年续保时可以获得10%的保费优惠;如果头两年内都无事故,第三年保费优惠将达到15%~20%,以此类推,车子的理赔记录表现越好,保险公司给予的保费优惠越高,最高优惠幅度能达到50%。

    省钱方案四:多种渠道投保 团购省车险

    据介绍,现在车主除了在4S店等购买保险外,也可以通过保险公司提供的多种渠道投保。包括前文提到的电话车险,还有网上投保等。有的保险公司会在网上定期推出个人车险优惠业务,如年末有公司推出的网上购车险,商业险保费可以多省15%。

    值得一提的是,在新车购买车险的时候,团购绝对是一个不错的选择。参与团购车险的方式首先可以通过各种车友俱乐部召集参与,有时4S店的俱乐部也会提供此项服务。通过团购购买车险,一般都可以获得10%~25%的优惠幅度,如一辆25 万元左右的别克车系车型,就能省下1500元左右的保费。

Powered by ZJANT