web前端性能测试小点

关于前端性能的文章:

 http://www.cnblogs.com/fnng/archive/2011/09/19/2181894.html

       web应用的前端性能响应时间指浏览器的页面加载时间。浏览器的页面加载时间包括对html的解析,对页面图片及css等文件的获取和加载、客户端脚本的执行时间以及对你页面进行展现所花费的时间。这个与并发用户量的大小并没有直接的关系,主要关注:如何提高浏览器下载和执行资源的并发性,如何让浏览器尽快开始渲染页面,如何让浏览器尽可能充分的利用缓存。在yahoo中,到少50个团队通过纯粹的前端性能相关的技巧,将最终用户的响应时间减少了25%以上。

      在了解web前端性能时,我们应该知道http协议。

      http协议采用请求/响应模型,客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本等信息,服务器以一个状态行作为响应,响应的内容包括消息协议的版本、成功或者错误编码加上包含服务器的信息、实体元信息等内容。该协议是一种非面向连接的协议,每个http请求都是独立的。

     请求报文的格式:请求行 | 通用信息头 | 请求头 | 实体头 | 报文主体   Method     Request-URI  HTTP-versionCRIF

     响应报文的格式:状态行 | 通用信息头 | 响应头 | 实体头 | 报文主体

响应报文的状态码如下:

     1XX:信息响应类,表示接收到请求并继续处理

     2XX:处理成功响应类,表示动作被成功接收、理解和接收

     3XX:重定向响应类,表示为了完成指定的动作,必须接收进一步处理

     4XX:客户端错误,表示客户请求包含语法错误或不能正确的执行

     5XX:服务端错误,表示服务器不能正确执行一个正确的请求

与前端性能相关的头信息:

     1、accept-encoding:告诉服务器所接受的页面的编码方式,gzip使用gzip压缩,deflate不压缩,压缩可以减少下载所需的时间。

     2、connection:因为HTTP是费面向连接的,无状态的协议,每一个HTTP请求都会经过“建立连接--请求页面或资源--获得资源--断开连接”的过程。对于小的资源可能建立连接的时间都会超过对资源的处理时间,为了减少时间引入了持久连接。当浏览器和服务器约定好后,当某个资源传输完成后并不立即断开连接,而是等待一段时间,在这段时间内若传输其他的资源就复用该连接,否则就关闭。当值为keep-alive时有持久连接。

    3、expires:用于只是返回数据的到期时间。到期时间之前都是从缓存处直接获取相应的资源,之后才会向服务器发送请求获取。

提高前端性能的方法:

    1、减少页面加载的时间,

    2、减少网络时间:CDN技术,DNS缓存技术,减少文件的尺寸

    3、减少发送的请求量:利用浏览器缓存

    4、让页面尽早的开始显示

对于前段性能测试的理解:

       由于本人之前有两三个月的时间接触了前端,对于前端的知识点比较熟悉,在这方面理解起来不是很困难,对于http协议,用户响应请求的过程都熟悉,但是那个时候并没有详细的考虑到页面的加载时间问题,只是想着将页面呈现出来,而忽略了对于响应时间的要求。由于自己都是在本机上实现的,所以每次想看结果的时候都要等很久,这就是没有使用性能的思想,去减少页面的加载时间,没有考虑周全。现在对于这方面有了更深的理解。

 

原文地址:https://www.cnblogs.com/silence-hust/p/4093752.html