博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户体验技术优化系列(一)
阅读量:5829 次
发布时间:2019-06-18

本文共 1742 字,大约阅读时间需要 5 分钟。

用户体验技术优化系列(一)

                                        -----前端优化之减少http请数数

继上个季度总结了富客户端开发技术选型后,转眼又过去三个月了,爱吼网又在经历三个月的磨练。如果技术路线选型是方向、是战略,那么具体的技术实现的技巧就是战术了,作为一个自主运营的网站产品来说,方向和战略固然重要,但战术则是致胜点,因为无数先烈已经给我们后来人证明了这点。

产品研发不同于项目研发,项目研发只需要把功能做好,搞定客户,按照功能规格说明完成验收就可以了。但做产品,尤其是互联网的产品,首先要研究的是商业模式和盈利模式,其次做出的产品要能够快速抢占市场,而研发的视角也必须要转到以用户为中心上来,需要的是如何吸引用户?如何留住用户?如何让用户掏钱?所以很自然的,研发的重点就是如何提升 。

那么,什么是用户体验?如何做好用体验呢?中国互联网最大的产品经理,“企鹅号”航空母舰的掌门人小马哥,已经通过案例,从产品设计的角度很好地剖析什么是用户体验,以及如何来提高。可以称得上是互联网产品设计的开山之作,非常值得产品经理们认真的学习下。我这里要总结是从技术实现优化的角度来如何提高用户体验。系列之一就是,提高网站打开速度。

没有人愿意等待。Google研究表明,网页打开的最佳速度是2秒,用户能够忍受的等待时间在6~8秒,超过12秒以上,页面还没打开,99%的用户不再等待。在同等网络、硬件资源的情况下,影响网站打开的速度自然主要的就是网页的http请求数了,所以优化的重点就是如何减少http请求数?

首先,有两个概念必须先搞清楚,一是iis的并发路数,有的称为iis的请求数,它是服务端,也就是web服务器处理能力的一个重要指标,指的是浏览器与服务端建立连接的,处理http请求的个数,具体的并发数目可在服务器的系统性能计数器中可以监控到。另一个就是http的请求数,它指的是用户打开网页时,浏览器向服务器发出的请求,不仅仅访问网页是HTTP请求,访问网站里的任何资源都是HTTP请求。说到这里,就会有人好奇了,打开一个网站,岂不是有好多请求数?是的,是这样,譬如:打开新浪微博首页,就有74个请求;再打开爱吼网的首页,就有81个请求。此时细心的人就会发现,新浪微博首页比爱吼网的首页还要饱满些,为何打开速度却非常快?其实,这就是我们要优化的重点。

工欲善其事,必先利其器。我们要分析出问题原因,找到一个好工具,就可以事半功倍了,这里介绍几种小工具,可以非常方便地查看到打开一个页面里的http请求数有哪些,根据浏览器不同,常用的有三种方式:

第一种是HttpWatch,它是一个非常强大的网页数据分析工具,可以集成到IE工具栏里,最新的版本也可以集成到fireFox里面了,下图是爱吼网首页的请求信息,是不是一目了然?

 

第二种是Firebug,它是与Firefox集成在一起的功能强大的web开发工具,还可以实时编辑、调试和监测任何页面的CSSHTMLJavaScript。分析页面的http请求只是一个基本功能了,如图:

 第三种是google推出的浏览器chrome自带的开发人员工具,骨干至极,且界面非常友好,符合google的一贯风格,按快捷键“F12”就出来了:

总结到这里,其实问题已经分析清楚了,解决起来自然就得心应手。那具体如何减少?客户端和服务端双管其下,可以有效地提高网站的打开速度。

在客户端层面,已经有了标准的优化方案,一是合并文件,将jsCSS合并到一个请求、并压缩传到客户端;二是合并图片,也就是使用image  sprites技术,将页面里的框架图片,合并到一张图中,采CSS样式为定位;三是去除所有的重定向、frames框架代码。

在服务端层面,大家关注的可能比较少,就是Keep-Alive技术,通俗地讲,就是所谓的持久连接,对于http这种大量的短连接的服务来说,开启持久连接的好处可以节省大量的TCP连接过程的开销,同时也可以在一个连接里能处理多个http的请求,对客户端而言,也就相对地减少了http的并发请求,提高了网站的打开速度。

 

转载于:https://www.cnblogs.com/ceecy/archive/2012/07/08/2581767.html

你可能感兴趣的文章
asp.net怎样在URL中使用中文、空格、特殊字符
查看>>
路由器发布服务器
查看>>
实现跨交换机VLAN间的通信
查看>>
python例子
查看>>
环境变量(总结)
查看>>
ios之UILabel
查看>>
Java基础之String,StringBuilder,StringBuffer
查看>>
1月9日学习内容整理:爬虫基本原理
查看>>
安卓中数据库的搭建与使用
查看>>
AT3908 Two Integers
查看>>
C++ 0X 新特性实例(比较常用的) (转)
查看>>
node生成自定义命令(yargs/commander)
查看>>
各种非算法模板
查看>>
.NET 设计规范--.NET约定、惯用法与模式-2.框架设计基础
查看>>
win7 64位+Oracle 11g 64位下使用 PL/SQL Developer 的解决办法
查看>>
BZOJ1997:[HNOI2010]PLANAR——题解
查看>>
BZOJ1014:[JSOI2008]火星人prefix——题解
查看>>
使用Unity3D引擎开发赛车游戏
查看>>
HTML5新手入门指南
查看>>
opennebula 开发记录
查看>>