我正在对我的网络应用进行一些分析,我对从Chrome内置的请求时间获得的结果感到困惑。简单来说,我可以说我要求一个由以下内容组成的网页:
根据Chrome提供的时间,主要的HTML加载时间如下:
到目前为止,这么好。如果我理解,这意味着我的服务器需要大约7-8秒来处理请求并发送响应。事实上,根据这个信息,第一个字节到达7.79秒,所以浏览器无法开始处理HTML并加载其他资源,直到这一次。
但是,如果我查看静态资源和AJAX请求的时间,我发现了一些令人费解的事情。例如,这是bootstrap.min.css
:
请注意,请求在21.6毫秒排队,比HTML中第一个字节的到来要早得多。顺便说一句,该文件是从缓存中检索的(根据Chrome从磁盘缓存中检索),但浏览器是否知道HTML在收到响应之前会请求该文件?
在AJAX请求的情况下,我们有类似的东西:
但是这次更奇怪了,因为为了执行这个请求,应该处理来自html的一些javascript,但是当AJAX请求排队时没有收到第一个字节!。
这怎么可能?我如何解释这些关于网站性能的结果(即,HTML真的需要7秒才能加载第一个字节)?