架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7354|回复: 0

[ASP.NET] 真有必要去除HTML中的空白字符吗?

[复制链接]
发表于 2019-4-29 13:52:08 | 显示全部楼层 |阅读模式
刚才有朋友在MSN上问我说,他的页面中有许多空白字符,打开源文件一看发现这代码稀疏得很。他觉得很浪费,他说有什么办法可以去除它们。我问他“你的页面使用GZip压缩了吗?”他说用了,于是我回答说“那么就不用去除空白字符了,连续空白字符压缩得很好,去掉后效果不大的”。这时我又不禁想到早上那篇《博客园首页优化心得》中也有一条是“去除HTML中的空格、空行”,于是我便打算尝试一下,去除空白字符到底有多少效果。

《博客园首页优化心得》:http://www.cnblogs.com/cmt/archive/2009/12/07/1618301.html

我的实验目标是我博客的前40篇文章的详细页,未压缩前的体积从98K到277K不等,我想也应该算是博客园中比较典型的页面大小吧。我使用这样的测试代码:

在上面这段代码里我使用的是博客园去空白字符的方法,结果如下:


原页面原页面(压缩)去空白后去空白后(压缩)去空白前后去空白前后(压缩)
1307603601811735434702134061316
2559356340624043361870155021536
2788718679426370485298151671496
2212485314820544051548158081600
1516124026013793938940136731320
1350193600012159334750134261250
1282393623011465834878135811352
1615304277614718941392143411384
99884283728704727084128371288
1735344372415844642272150881452
1915195039817695848888145611510
1769964027416270638978142901296
2063484736219140045964149481398
1370143860812285537076141591532
1447153726013109735748136181512
1465313670413261935302139121402
1999154922418222747452176881772
106929298509369028518132391332
1362643666412154834990147161674
1487503799013456736578141831412
2828867192426633670306165501618
1760994146816132240126147771342
108394304569542829216129661240
1525784018613854338866140351320
2302435997021538958554148541416
2511835715623486255694163211462
1969574817618160846776153491400
1722674134015810540056141621284
2658776365024897462142169031508
1474033889413375137492136521402
1490913646013499835190140931270
1677414320015361441856141271344
1715644089815733339648142311250
1258123457011104733200147651370
1906494652417519745040154521484
1538073946213940138054144061408
1207883222810753430930132541298
1633274111014876339710145641400
103101294769028428222128171254
1413843978412664138350147431434

值得关注的是最后两列,从中我们可以发现,虽然去除空白前后可以让页面体积减小十几K,但是经过压缩后其实只相差1-2K了——大约1-2个数据包。这些节省是否值得我们去这么做?再者,博客园的做法是为每个页面的内容使用正则表达式进行替换,那么它所带来开销又是否值得呢?这就要博客园自己进行profiling了……

最后一提,其实去空白字符并非如此简单一件事情。最简单的例子是:您是否遇到某些HTML编辑器或RSS阅读器,它们会让文章中原本工整的代码变成一行?这就是因为它们武断地去除了所有的空白字符,但是忘了有个HTML标记叫做<pre />……




上一篇:让数字显示字的sql
下一篇:HttpListener写入流的字节超出指定的 Content-Length 字节大小
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-28 23:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表