今天志刚问到Firebug的net面板的 onload是神马意思,我一时语塞,用Firebug这么多年了都木有仔细研究过。正好这两天和大猫舜子等童鞋一起研究@import css的问题,顺便把这个详细了解下吧。
Net面板就是Firebug中的net tab,中文应该叫“网络”?它可以监控页面中的HTTP请求,然后将收集到的信息展现出来。当然,要使用这个功能,你要先点击Net字符右边的小三角将它启用。
PS:我这里的环境是Firefox 4+Firebug 1.7,旧版本的界面可能会稍有不同。
它会将页面中所有的请求/相应的完整过程整理好列出来。
上面的截图显示,前端观察首页的页面请求概况:共9个请求,每一个条目都包含相关资源一些信息:
最底部一行会显示一个简单的统计信息。
点击url前面的+按钮后,该条目就会展开,显示该请求的详细信息:
可以看到这里有几个tab:
从上图中可以看到,headers部分会展示两个信息:响应头和请求头,分别包含着一些信息,需要注意的是,请求头中包含了User-Agent信息和Cookie值。记得之前有个Firebug的扩展叫Firecookie,现在的Firebug展示了这些信息,这个扩展基本上就没有用了。
PS:貌似之前有个Firefox的插件叫Live Http Header的,嗯,功能基本上也被Firebug集成了。
响应tab显示请求后从服务器返回的数据,嗯,和响应头是不一样的,这里回事一些纯数据,如果是text/*类型(content-type)就会显示原始代码文本,如果是image/*类型,会直接显示相关图片。
如果请求的资源使用了缓存,那么这里就会多出一个cache的tab:
如果请求会发送一些数据,这里将会出现另一个tab:
如果页面请求中包含一些参数(查询字段),则会有一个Params的tab在前面:
如果请求是Json,那么这里会有json的tab,采用弹性分层的结果展示详细的数据:
firebug的时间线以瀑布图的形式展现,很直观,而当你把鼠标悬浮在时间线上的时候,就会弹出该条时间线的详情的tips,这个tips包含5个阶段和2个事件:
最上面一行,+859ms started表示前面的请求花掉的时间。
从这个截图,我们可以看到以下信息:
插图版解释:
因为DOMContentLoaded和load事件花掉的时间可能是负值,也就是在事件在请求完成之前就完成了,两者都可能是负值,而通常最后一个请求完成于load事件结束之后,所以,通常右下角onload的时间会比总时间少。
然后或许从最后这里能找到一些页面优化的点,希望高人能给予指点。
有话要说