【观点】我们在构建一个臃肿而缓慢的Web网络
来源:互联网 发布:淘宝地址武汉没有汉口 编辑:程序博客网 时间:2024/04/27 02:29
现在的web比去年看起来臃肿了将近25%。
从前1000名最流行的网站上的统计看来,相比去年,每个网站上的网页平均增加了25%——从每个网页626KB增长到了784KB。单单从一年的增长情况看来,这个速度已经是非常可怕的了。众所周知,网页越大,加载的速度自然也就越慢。
网页数据量的统计来自HTTP Archive,它每个月会更新网页数据量的最新统计值。
不难想象,网页中最大的数据量来自于图片,它占据了784KB中的451KB。但是不能将Web网页的臃肿完全归咎于图片的增长。
我们在Pingdom的朋友分析了HTTP Archive data上的数据,发现web页面的膨胀很大程度上是JavaScript导致的。CSS文件也变得越来越大,但由于CSS文件的基数较小,因此它的增长没有表现得特别突出。
以下是Pingdom的观点:
就规模而言,图片仍然是导致Web臃肿的主要原因,但是就增长速度来看,JavaScript可能得负上很大的责任。它现在是Web上第二大的数据了。
CSS的内容也增长了25%,这看起来可能有点多,但是看看具体的CSS文件,它还属于相对较小的文件。它的增长不是Web肥胖的决定因素。但是每一个内容的增长都会在一定程度上影响Web的大小。
Pingdom进一步指出,如果你看看那些Top 1000的网站,你就能更加深刻地认识到Web变得越来越臃肿了,这些网站上每个页面的平均大小居然有将近1MB。
越来越丰富的JavaScript以及更加精确的CSS导致web变得越来越臃肿,也许有人会问——这又有什么关系呢?毕竟,带宽也在不断增长呀!3G甚至是4G技术已经在移动领域推广开来,web浏览器上的JavaScript引擎也在不断提速。我们是否真的有必要担心web的肥胖问题呢?
页面变大或许并不是特别严重的问题,只有当网页的增长速度超过了带宽的负荷或是web浏览器的处理能力时,这个问题才变得严重起来。随着web app和web网站变得越来越强大,功能更加丰富,页面的数据增长是很自然的现象。但是不能想当然地认为,所有的用户都能享受很高的带宽,特别是将你的应用部署到全球范围时。也许韩国的用户可以在眨眼间完成1MB页面的下载,但身在美国乡村的用户,也许就得通过拨号连接慢慢等待这个页面的下载了。
最令人担心的就是HTTP Archive data指出的web的增长速度。如果照这个速度发展下去,不出五年,一个web页面的平均大小将达到2.5MB。记住,这还只是平均大小,许多web页面的大小可能还不止这个值。完全依靠带宽的增长来填平web页面的增长似乎不太靠谱。
现在想要放弃JavaScript这类app开发工具也是不现实的。真正令人担心的是许多网站还没有对这个问题的严重性有足够的认识,正如Pingdom所说的,“优化web页面的大小似乎还不在大家的考虑范围中”。一个令人费解的问题就是:明知道网页越大,加载速度就越慢,为什么这些大受欢迎的网站还敢于将自己的网页设计得越来越大?这显然是会引起用户的不满的呀!新的功能固然是好的,但是如果因为这些新的功能而导致网页访问变慢,我想没有人会欢迎这些新的功能。网站的访问速度是网站的一个重要指标。相关的研究表明,如果一个网站的加载速度超过几秒钟,用户也许就已经感到不耐烦了。
也许对于Top 1000网站的页面增长你无能为力(除非你恰巧是这些网站中某个网站的负责人),但如果你希望让自己的网页看起来足够苗条,那么这里有许多工具你应该用得上。推荐使用Web Page Test来粗略地查看一下你设计的网页的加载速度,并可以了解哪些地方需要精简。另一个好用的工具就是Google的Page Speed服务,可以用来提升你的网站的访问速度。Yahoo的YSlow也可以用来检测和分析网页下载中碰到的问题。
其他有效的简化web页面的方法还包括:使用CSS3代替原来的背景图片,确保脚本是通过CDN下载的,优化网站的移动网络处理方法。
文章来源:Latest Stats Say We’re Building a Fatter, Slower Web
- 【观点】我们在构建一个臃肿而缓慢的Web网络
- intellij 采用maven 构建web项目缓慢的问题
- 如何构建一个名字成员在类外可以被修改而在内部是只读的对象
- 是谁在偷窥我们的网络隐私?
- 是谁在偷窥我们的网络隐私
- 世上最重要的事,不在于我们在何处,而在于我们朝着什么方向走。
- 构建一个web方式的局域网签名
- 构建一个 web 应用的开发进度
- 如何构建一个完整的WEB服务器
- 构建在asio上的网络模块
- 臃肿的代码
- VS的臃肿
- 一、为什么要构建自己的持久层,我们构建一个什么样的持久层
- Facebook如何才能避免缓慢而痛苦的死亡
- 一个95后国外小伙子眼中的社交网络,7大国外社交平台观点
- 我们绝不在为此而哭了
- 今日我们如何构建虚拟现实Web
- 为什么在外网可以用域名访问我们的web服务器,而在内网则不行
- 述职报告范文
- android代码库之textview跑马灯效果
- python对文件夹的一些操作
- 技术人员述职报告
- HTML5(目前)无法帮你实现的五件事
- 【观点】我们在构建一个臃肿而缓慢的Web网络
- finalize方法的几点理解
- Python 随机生成中文验证码
- 移动web上的无处不在原则
- 基于QT的时钟模拟程序
- 黑盒测试准备
- [PPT]构建一个面向未来的友好Web
- .什么是述职报告
- 黑盒测试之导入CVS文件之什么是CVS文件