请求从发出到接收完成一共经历了DNS Lookup、Connecting、Blocking、Sending、Waiting和Receiving六个阶段,时间共计38ms。请求完成之后是DOM加载和页面加载。下面简单解释下这六个阶段:

  1) DNS Lookup,DNS解析时间。如果页面存在多个请求主机,频繁DNS解析将消耗更多的时间。

  2) Connecting,建立一个TCP连接所需要的时间,不同的浏览器使用不同的端口下载资源,因此更多的端口等于更多的并行性,并且更多的TCP连接时间开销。

  3) Blocking,网页请求被阻塞,花费在浏览器中的等待网络连接的时间;

  4) Sending,向服务器发送请求所需要的时间;

  5) Waiting,等待服务器响应的时间(直到第一个字节是从服务器收到的),优化服务或连接;

  6) Receiving,接收服务器响应对象需要的时间;

  二、网站速度建议

  了解了影响网站速度的影响因素,我们可以从服务器端、传输端和页面端分别进行网站速度优化。

  1. 服务器优化

  服务器优化就是从动态语言执行、数据库查询、数据存储等方面进行优化,这些工作复杂而且关系到网站全局整站运行,因此需要谨慎,当然服务器端优化具体难度和效率取决于网站管理员的水平。由于没有操作过公司服务器,因此就不做详细介绍,仅以我自己的博客服务器端优化为例说明:

  1) 用HTML语言代替PHP语言直接输出信息,比如语言、名称、固定URL地址等;

  2) 定期进行数据库修复和优化;

  3) 利用Expires为网页静态元素设置过期时间;

  4) 设置服务器和页面缓存;

  5) 启用Gzip压缩;

  6) 其他有效但未实施的方法:利用CDN技术为网站提速;缩小Cookie,针对WEB组件使用与域名无关的Cookie;

  2. 传输优化

  传输优化是为了提高数据传输速度,减少传输过程中的等待。

  1) 字节优化。将页面加载过程中传输的所有数据压缩,HTML代码压缩、JS压缩、CSS压缩、图片压缩等。

  2) 缓存优化。设置有效的服务器和页面缓存时间。

  3) HTTP优化。A.合并CSS和JS,减少站内CSS和JS的HTTP请求;B.利用CSS Sprites减少图片HTTP请求;C.减少站外主机DNS查询;D.避免不必要的HTTP和JS跳转;E.减少404错误。

  3. 页面优化

  页面优化主要围绕网站页面元素进行,常见的页面元素有图片、CSS代码、JS代码、HTML代码等。

  1) 图片优化。选择合适的图片类型并压缩,图片颜色丰富采用JEG格式;颜色数少或有透明通道适合用PNG格式;LOGO图片用PNG-8格式或GIF比较适合。

  2) CSS代码优化。去除不使用的CSS代码;使用简写精简CSS代码;将CSS代码通过外部文件加载;CSS链接位置在页面顶部优先加载。

  3) JS代码优化。将JS代码通过外部文件加载;优化JS顺序,优先加载重要JS;将JS放置在页面底部。

  4) HTML代码优化。减少注释信息;去除无用代码;减少页面空行。

  5) DOM优化:减少DOM个数,降低浏览器解析压力;设置合理的DOM顺序,把重要的DOM放前面。

  做网站前端优化的朋友一般都知道两个工具:谷歌的Page Speed和雅虎的Yslow,大家可以参考这两个工具的优化建议,在GTmetrix的Breakdown标签中有具体信息,经过优化之后的网站速度都会有不同程度提高,以下是我博客的在谷歌Page Speed和雅虎Yslow的得分,评分是次要的,主要的目的是为用户提供良好的用户体验。

web访问速度优化分析的更多相关文章

  1. wordpress | 网站访问速度优化方案(Avada)

    一.谷歌字体 原因: Wordpress系统默认使用谷歌字体,在国内谷歌域名被屏蔽,所以导致操作反应慢. 解决方法: 对于后台:找到Wordpress这个文件 /wp-includes/script- ...

  2. 使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度

    碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1.在移动机房放置一台nginx反向代理服务器2.通过域名DNS智能解析,所有移动用户访问www.osyunwei.co ...

  3. 利用Squid反向代理搭建CDN缓存服务器加快Web访问速度

    2011年11月26日 ? Web服务器架构 ? 评论数 2 案例:Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入访问用户:电信宽带用户.移动宽带用户出现 ...

  4. m2014-architecture-imgserver->利用Squid反向代理搭建CDN缓存服务器加快Web访问速度

    案例:Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入访问用户:电信宽带用户.移动宽带用户出现问题:电信用户打开www.abc.com正常,移动用户打开ww ...

  5. 利用nginx加速web访问

    起因---------- 在最近新系统的设计中对于首页打开速度的问题做了一些考虑,由于页面上还是以动态数据为主,所以简单的静态化数据可能并不行,所以需要从业务和技术结合的角度去考虑这个问题.由于有些数 ...

  6. Web前端性能优化——如何提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个"Duang"的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒, ...

  7. 转: web 页面加载速度优化实战-100% 的飞跃提升

    前言 一个网站的加载速度有多重要? 反正我相信之前来 博主网站 的人至少有 50% 在加载完成前关闭了本站. 为啥捏? 看图 首页完整加载时间 8.18s,看来能进来看博主网站的人都是真爱呀,哈哈. ...

  8. 【转】Web前端性能优化——如何提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...

  9. Web前端性能优化——提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...

随机推荐

  1. 小课堂week13 Clean Code Part2

    Clean Code Part2 对象与数据结构 首先让我们进行一个严肃的思考,对象与数据结构的区别在哪里? 如下两段代码分别用数据结构和对象的方法来描述了一个Point. public class ...

  2. 动态加载故事storyboard

    第一种方法: ViewControllerB *vcB = [self.storyboard instantiateViewControllerWithIdentifier:@"Name o ...

  3. Android UI效果实现——Activity滑动退出效果

    更新说明: 1.在QQ网友北京-旭的提醒下,在SlideFrame的initilize方法中添加了focusable.focusableInTouch.clickable的状态设置,否则会导致部分情况 ...

  4. CSS3中新出现的技术

    CSS3中新出现的技术 CSS媒体查询 媒体查询 包含了一个媒体类型和至少一个使用如宽度.高度和颜色等媒体属性来限制样式表范围的表达式.CSS3加入的媒体查询使得无需修改内容便可以使样式应用于某些特定 ...

  5. Knockout应用开发指南 第一章:入门

    2011-11-21 14:20 by 汤姆大叔, 20165 阅读, 17 评论, 收藏,  编辑 1    Knockout简介 (Introduction) Knockout是一个轻量级的UI类 ...

  6. SQLite之写一个表

    1.首先你需要一个路径. 获取document目录并返回数据库目录 - (NSString *)dataFilePath{ NSArray *paths = NSSearchPathForDirect ...

  7. 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性

    一解决方法: 问题的主要原因出在:跨程序集反射. 即我们需反射的A.dll的程序集引用B.dll程序集,而在反射工具项目中却不存在对B.dll程序集的引用.因此我们只需在反射工具项目中添加对B.dll ...

  8. UISwitch swift

    // // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...

  9. UIStepper swift

    // // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...

  10. Java Day 13

    线程的状态 被创建 运行 冻结 消亡  被创建--start()--> 运行 运行----run()----> 消亡         stop() 运行---sleep(time)---& ...