关于前端性能的文章:css
http://www.cnblogs.com/fnng/archive/2011/09/19/2181894.htmlhtml
web应用的前端性能响应时间指浏览器的页面加载时间。浏览器的页面加载时间包括对html的解析,对页面图片及css等文件的获取和加载、客户端脚本的执行时间以及对你页面进行展示所花费的时间。这个与并发用户量的大小并无直接的关系,主要关注:如何提升浏览器下载和执行资源的并发性,如何让浏览器尽快开始渲染页面,如何让浏览器尽量充分的利用缓存。在yahoo中,到少50个团队经过纯粹的前端性能相关的技巧,将最终用户的响应时间减小了25%以上。前端
在了解web前端性能时,咱们应该知道http协议。web
http协议采用请求/响应模型,客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本等信息,服务器以一个状态行做为响应,响应的内容包括消息协议的版本、成功或者错误编码加上包含服务器的信息、实体元信息等内容。该协议是一种非面向链接的协议,每一个http请求都是独立的。浏览器
请求报文的格式:请求行 | 通用信息头 | 请求头 | 实体头 | 报文主体 Method Request-URI HTTP-versionCRIF缓存
响应报文的格式:状态行 | 通用信息头 | 响应头 | 实体头 | 报文主体服务器
1XX:信息响应类,表示接收到请求并继续处理网络
2XX:处理成功响应类,表示动做被成功接收、理解和接收并发
3XX:重定向响应类,表示为了完成指定的动做,必须接收进一步处理前端性能
4XX:客户端错误,表示客户请求包含语法错误或不能正确的执行
5XX:服务端错误,表示服务器不能正确执行一个正确的请求
一、accept-encoding:告诉服务器所接受的页面的编码方式,gzip使用gzip压缩,deflate不压缩,压缩能够减小下载所需的时间。
二、connection:由于HTTP是费面向链接的,无状态的协议,每个HTTP请求都会通过“创建链接--请求页面或资源--得到资源--断开链接”的过程。对于小的资源可能创建链接的时间都会超过对资源的处理时间,为了减小时间引入了持久链接。当浏览器和服务器约定好后,当某个资源传输完成后并不当即断开链接,而是等待一段时间,在这段时间内若传输其余的资源就复用该链接,不然就关闭。当值为keep-alive时有持久链接。
三、expires:用于只是返回数据的到期时间。到期时间以前都是从缓存处直接获取相应的资源,以后才会向服务器发送请求获取。
一、减小页面加载的时间,
二、减小网络时间:CDN技术,DNS缓存技术,减小文件的尺寸
三、减小发送的请求量:利用浏览器缓存
四、让页面尽早的开始显示
因为本人以前有两三个月的时间接触了前端,对于前端的知识点比较熟悉,在这方面理解起来不是很困难,对于http协议,用户响应请求的过程都熟悉,可是那个时候并无详细的考虑到页面的加载时间问题,只是想着将页面呈现出来,而忽略了对于响应时间的要求。因为本身都是在本机上实现的,因此每次想看结果的时候都要等好久,这就是没有使用性能的思想,去减小页面的加载时间,没有考虑周全。如今对于这方面有了更深的理解。