gpt4 book ai didi

与非推送 Assets 相比,推送 Assets 的 HTTP2 延迟

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:11 27 4
gpt4 key购买 nike

我正在我的网站上实现 HTTP/2 推送。让它工作后,我对得到的瀑布感到有点惊讶。我在 Chrome 中启用节流以“降低 3G 速度”以更准确地查看正在发生的事情。

我正在推送 4 个 Assets (按顺序):

  1. home.min.css (12kB)
  2. front_layout.css (213kB)
  3. front_home.css (8kB)
  4. front_layout.js (360kB)

这是我在加载过程中得到的: enter image description here您可以看到我推送的两个最大的文件是“待定”。我能理解这一点,因为即使是主要的 HTML 文档也没有完成加载。但问题是其他非推送的 Assets (下面的 2 张图片)已经加载了!怎么可能推送的资源还没有开始加载,而非推送的资源已经加载完毕?

请注意,推送 Assets 的蓝色部分定义为“阅读推送”,而旧样式请求的蓝色部分定义为“内容下载”。难道是 Chrome Inspector 的绘图错误?还是我不明白的内容下载和阅读推送之间的细微差别?

再往下看加载的时候,更让人吃惊的是: enter image description here在主 HTML 文档的结尾和一个推送的 Assets 的开始之间有一个奇怪的延迟。在我看来,推送的 Assets 会在主要响应数据之后立即出现,我不明白这 ~8 秒的延迟是从哪里来的。我想念什么?

在页面加载时,这是我得到的: enter image description here

所以:

  1. 大型推送 Assets 在其他非推送 Assets 之后开始下载
  2. (最后一行)另一个域上的一张大图片(340kB,与我推送的大型资源相同)在我推送的资源之前完成加载(尽管下载速度较慢)。

我得到了与 Fast 3G 相同的图表。只有当我完全禁用限制(在我自己的机器上运行)时,我才会得到我所期望的:

enter image description here

我对发生的事情感到困惑。 HTTP2 推送对我来说是件好事吗?

我阅读了很多关于 http2 是如何工作的文章,但我真的无法理解我的情况。欢迎任何见解!

非常感谢!

最佳答案

我还注意到我的 index.html 和推送的资源之间存在神秘的差距。 index.html 的蓝色条结束时是浏览器完成文件下载的时间。然后它需要解析 HTML,一旦它满足需要推送资源的点,它就会开始请求它。所以我想差距在于浏览器解析 HTML 并做一些后台工作(例如加载 HTML,分配空间......)

我不确定这是否是正确的解释,但希望它能给你一些见解(毕竟这么久......或者如果你确实找到了答案,请分享它!thx)

关于与非推送 Assets 相比,推送 Assets 的 HTTP2 延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46907933/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com