Chrome DevTools — Network -- 转载

时间:2017-08-18 16:35:47   收藏:0   阅读:366

转载地址:https://segmentfault.com/a/1190000008407729

记录网络请求

默认情况下,只要DevTools在开启状态,DevTools会记录所有的网络请求,当然,记录都是在Network面板展示的。
技术分享

停止记录网络请求

技术分享

清除网络请求

技术分享

跨页面加载时,保留网络请求记录

当页面重载或者页面跳转时,默认情况下,Network面板下的网络请求记录表也是刷新的。如果想保留之前页面的网络请求数据,可以勾选Preserve log。 
常用的一个应用场景:登录/注册时会调用登录/注册API,开发者想查看这个接口返回的情况,但是登录/注册成功后一般会跳转到新的页面,导致了Network面板的请求记录被刷新从而看不到登录/注册接口返回的情况。此时勾选上Preserve log,无论跳转到那个页面,都能在Network网络请求记录表中查看到之前接口返回的情况。

技术分享

页面加载时捕获屏幕截图

捕获屏幕截图可以分析在页面加载的过程中,用户在不同的时间段内看到的网页是什么样子的。
点击Capture screenshots图标开启捕获功能,当图标变为蓝色表示已开启,重载页面即可看到不同时间的屏幕截图。

技术分享

捕获屏幕截图之后,可以进行以下操作:

技术分享

改变页面加载时的条件

禁用浏览器缓存

在http请求的过程中,有些资源在页面初次加载之后会被缓存到浏览器中,也就是那些状态码为304的资源。为了尽可能准确地模拟用户第一次加载我们网页时的情景,需要禁用浏览器缓存,这样,每一个请求都是从服务端传送过来的,较为准确地反应出网页初次加载的实际情况。
技术分享

模拟网速条件

Network Throttling下拉框中可以选择不同的网络条件进行模拟,如2G、3G、4G、WiFi等。
技术分享

除了选中已有的网络选项,也可以自定义网速相关条件:打开Network Throttling菜单,选择Custom > Add

另一种模拟情况较为特殊,就是无网络。利用service workersPWA(Progressive Web Apps)在无网络的情况下依然可以使用。模拟这种无网络环境,直接勾选Offline即可。
技术分享

提示:有时候开发者会看到Network左侧有个警告图标,这个图标就是提示开发者当前处于模拟网络条件下。
技术分享

手动清除浏览器缓存、cookies

在网络请求记录表里面右键,选择Clear Browser CacheClear Browser Cookies
技术分享

覆盖用户代理

打开Network抽屉面板:在DevTools下,按Esc键即可调出DevTools的抽屉面板,可以选择、切换不同的Tab选项。
技术分享

Network抽屉面板打开以后,不勾选Select automatically复选框,然后选择一个用户代理或者自定义一个。
技术分享

过滤请求

根据属性过滤

那个漏斗,对,就是它,点击漏斗图标使其颜色变为蓝色,然后就可以对网络请求表中的数据进行进一步的过滤。
技术分享

在输入框中可以输入一些字符串、域、大小、状态码、媒体类型等等,如果业务比较简单,可能输入一些字符串就搜索到自己想要的结果了。可输入的详细类型可参考官方文档

根据类型过滤

技术分享

这里是可以多选的:按住Command(Mac)键或Ctrl(Windows,Linux)键,然后单击不同的类型,如点击JSImg,则过滤出js文件和图片。显然,All不与其他类型共存,选择All的时候不能再选某一个具体类型。

隐藏data URLs

data URLs指一些嵌入到文档中的小型文件,在请求表里面以data:开头的文件就是,如较为常见的svg文件。勾选Hide data URLs复选框即可隐藏此类文件。
技术分享

根据时间过滤

点击下图中绿色方框的图标,显示/隐藏Overview窗口。在Overview窗口分别拖动左边或右边橙色圆圈中的滑动条,就可过滤出位于两个滑动条之间这段时间发出的请求,不是在这段时间发出的请求就被隐藏掉了。
技术分享

对请求表进行排序

按照列的类型排序

点击请求表每一列的列头,即可按照相应的类型进行排序,如,点击Size,则可按照资源从小到大或者从大到小(点击Size自动切换)进行排序。
技术分享

按照请求的不同阶段排序

在请求表的列头右键,然后鼠标移动到Waterfall,然后选择以下选项,默认按照对应时间从短到长的顺序排列:

技术分享

比如,选择了Total DurationWaterfall如下图所示:
技术分享

注:上图中的不同颜色代表不同的文件类型,如js、img、css等。每个请求的瀑布流图像都分为浅色部分和深色部分,浅色部分表示等待时间,深色部分表示下载时间,如上图中129ms是等待时间,110ms是下载资源所用的时间。

分析请求

查看请求记录

技术分享

请求表默认显示以下列:

增加或者删除列

在请求表的头部右键选择一个选项使其显示或隐藏。
技术分享

增加自定义的列

在请求表的头部右键,Response Headers > Manage Header Columns
技术分享

查看请求时间

Waterfall查看某个请求相对于其他请求所消耗的时间长短及先后顺序。默认是以请求发起的时间排序的,所以,瀑布流中,越靠左的请求,发起的时间越早。
技术分享

Headers:查看请求头、响应头以及请求参数

在列Name下,点击某个请求的URL,可以查看到请求、响应的详细内容。
技术分享

默认情况下,请求、响应头是按照字母表顺序显示的http头部的名字,如果想按照实际接收的顺序显示,点击上图中的view source,反之点击上图中的view parsed。 
Headers选项卡中也可查看请求的参数,上图橙色方框部分。也有view sourceview parsed,另外还有参数编码格式(view URL encoded)和解码格式(view decoded)。

Preview:查看响应体的预览

Response:查看响应体

Cookies:查看cookies

Timing:查看请求在各个阶段对应的时间

技术分享

各个时间段的意思:

查看请求的发起对象和依赖对象

在请求表的头部已经做过Initiator的简单介绍,其表示该条请求是由哪个对象或是处理操作发起的。如果B请求是由A请求发起的,显然,A是B的发起对象,B是A的依赖对象(B依赖A)。 
按住Shift键,然后鼠标悬浮在某个请求上,该请求的发起对象由绿色标志,该请求的依赖对象由红色标志。
技术分享

查看加载事件

DevTools在多个地方显示了DOMContentLoadedload事件发生时对应的时间。DOMContentLoaded事件对应蓝色的线(或者文字),load事件对应红色的线(或者文字)
技术分享

查看请求的总数量和总大小

技术分享

注:这里的数据表示DevTools打开以后被记录的请求所对应的数据,如果有些请求在DevTools打开之前已经发生了,这些请求的数据是不计算在这里面的。

改变Network面板的布局

点击下图中的图标,可切换两种显示方式。图标为蓝色时表示详细版,为灰色时表示简版。
技术分享

下面我们来看看两种显示方式的差异:
技术分享

技术分享

其实详细版就是多提供了一部分信息:

原文:http://www.cnblogs.com/zhaoyihao/p/7390374.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!