我有Rest server
,它会返回一个回复。我的目标是测量响应,为此我使用两种方法:
Advanced Rest client
Network tab
我的问题是响应时间不同 - 谷歌浏览器中的Network tab
显示时间+3秒,这是在Advanced Rest client
中测量的。
答案 0 :(得分:2)
我不能代表Chromium团队,但我可以代表高级REST客户端 - 作为该工具的作者。
ARC直接在套接字上运行。它使用低级时序API来测量不同事件之间的时间(如第一个字节的时间)。例如,这些时间不计算在客户端上读取响应的时间。这意味着,负责传输的库将缓冲区而不是文本传递给应用程序,因此它的工作速度更快。 XHR还有其他方法来检查响应类型,并根据它将响应转换为字符串,缓冲区或XML文档。我只能猜测它会影响执行的总时间。
无论如何,ARC采用尽可能低的API来非常准确地测量时序。 如果您想了解更多相关信息,可以在传输库中查看此行:https://github.com/advanced-rest-client/socket-fetch/blob/stage/app.fetch.js#L487 这是计算时间的示例(此处为连接时间)。 总时间只是所有这些时间的总和(+重定向,如果有的话)。