前端性能优化之Html压缩
下载试用:Uedsky HtmlCompressor(应该至少需要 .net 2.0才能运行)
程序版本:1.0.0.0
1.前言
写这个小工具是因为我的首页要用,看到很多地方(baidu,google等首页)提到Html压缩,但是好像没有见过哪里有工具可以下载,所以就想到自己写,一般情况下情况下只用压缩首页,或者生成静态页后可以压缩,就这个小工具来说,我写正则也没有考虑到效率(css部分参考yui compressor只顾到了程序可读性)(认为Html不需要压缩的飘过)。
2.压缩比率
个人觉得Html文件还是有必要压缩的,使用这个小工具Cnblogs的首页可以压缩18%,我的首页也可以压缩15%;
3.特点:无损压缩
由于 pre,textarea中的换行等内容会直接显示,所以不对其压缩,script标签由于js压缩比较复杂这里就不处理,如果内联javascript文件比较多,请先使用yui compressor压缩后放到页面里,压缩style标签里的css(核心参照yui compressor的源码),程序执行步骤如下:
1.正则(?is)<!-(?![if).*?-->匹配注释,将所有html注释去掉,这里排除右边为[if的,防止 将ie条件注释压缩掉
2.然后(?is)<(pre|script|style|textarea)[^>]*>.*?,将这些标签里内容提出来保存,防止替换时出错
3.将html标签之间的空白去掉:(?<=<[^>]+>)s+(?=<[^>]+>)
4.去掉所有的换行:[rn]+
5. 然后执行一个可选项:是否将多个空白换成一个,在Html中多个空白会解析成一个,所以默认为true
6.然后恢复保存的pre等标签内容
7.执行css压缩(步骤比较多就不列出来了,可以看yui compressor的源码)(这个也是可选项,如果没有内联的css或者是已经压缩过可以不选)
来源:http://www.cnblogs.com/sohighthesky/archive/2010/05/14/uedsky-html-compressor.html
http://www.blogjava.net/BearRui/archive/2010/05/16/html_compressor.html
建议继续学习:
- windows下压缩包在linux解压乱码的解决办法 (阅读:4321)
- 启用memcached压缩注意事项 (阅读:4220)
- php的echo为什么这么慢 (阅读:4193)
- 使用系统命令实现文件的压缩与加密 (阅读:4180)
- MySQL从压缩文件恢复数据 (阅读:3847)
- mod_gzip:Apache的HTTP压缩优化 (阅读:3868)
- 项目中对模板和js,css文件进行压缩的处理类 (阅读:3807)
- 为什么不压缩 HTML (阅读:3606)
- 开源压缩算法Zopfli介绍 (阅读:3613)
- 在服务端合并和压缩JavaScript和CSS文件 (阅读:3269)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:mike 来源: UED TEAM
- 标签: 压缩
- 发布时间:2010-06-12 17:51:19
-
[76] memory prefetch浅析
-
[53] find命令的一点注意事项
-
[37] 基本排序算法的PHP实现
-
[33] 卡诺模型―设计品质与设计价值的思考
-
[32] Oracle bbed工具的编译
-
[26] 8大实用又重要Mac使用技巧
-
[26] 程序员技术练级攻略
-
[25] 读书笔记-壹百度:百度十年千倍的29条法则
-
[23] 两行 JavaScript 代码
-
[22] 小屏幕移动设备网页设计注意事项