Google chrome 网络选项卡和 Rest 客户端插件中的响应时间不同
Different response time in Google chrome network tab and Rest client addon
我有 Rest server
个 returns 回复。我的目标是衡量反应,为此我使用两种方法:
- 插件在 Google chrome
Advanced Rest client
Network tab
在 google chrome
我的问题是响应时间不同 - google chrome 中的 Network tab
显示的时间比 Advanced Rest client
中测量的时间长 +3 秒。
我不能代表 Chromium 团队发言,但我可以代表 Advanced REST Client - 作为该工具的作者。
ARC 直接在套接字上运行。它使用低级计时 API 来测量不同事件之间的时间(例如到第一个字节的时间)。这些时间 - 例如 - 不计算在客户端上读取响应的时间。意思是,负责传输的库将缓冲区而不是文本传递给应用程序,因此它可以更快地运行。
XHR 有额外的方法来检查响应类型,并根据它将响应转换为字符串、缓冲区或 XML 文档。我只能猜测它计入执行的总时间。
无论如何,ARC 尽可能降低 APIs 以非常精确地测量时间。
如果你想深入了解这一点,你可以在传输库中查看这一行:https://github.com/advanced-rest-client/socket-fetch/blob/stage/app.fetch.js#L487
这是如何计算计时的示例(此处为连接时间)。
总体时间只是所有这些时间的总和(+ 重定向,如果有的话)。
我有 Rest server
个 returns 回复。我的目标是衡量反应,为此我使用两种方法:
- 插件在 Google chrome
Advanced Rest client
Network tab
在 google chrome
我的问题是响应时间不同 - google chrome 中的 Network tab
显示的时间比 Advanced Rest client
中测量的时间长 +3 秒。
我不能代表 Chromium 团队发言,但我可以代表 Advanced REST Client - 作为该工具的作者。
ARC 直接在套接字上运行。它使用低级计时 API 来测量不同事件之间的时间(例如到第一个字节的时间)。这些时间 - 例如 - 不计算在客户端上读取响应的时间。意思是,负责传输的库将缓冲区而不是文本传递给应用程序,因此它可以更快地运行。 XHR 有额外的方法来检查响应类型,并根据它将响应转换为字符串、缓冲区或 XML 文档。我只能猜测它计入执行的总时间。
无论如何,ARC 尽可能降低 APIs 以非常精确地测量时间。 如果你想深入了解这一点,你可以在传输库中查看这一行:https://github.com/advanced-rest-client/socket-fetch/blob/stage/app.fetch.js#L487 这是如何计算计时的示例(此处为连接时间)。 总体时间只是所有这些时间的总和(+ 重定向,如果有的话)。