当我输入一个URL时,为什么网页需要很长时间才能加载到我的手机浏览器上?



我想构建一个非常详细的答案,以准备软件工程面试,并真正了解"引擎盖下"发生的事情。

我现在拥有的是:

当您键入 url 时,在 一个人的浏览器和服务器。建立连接后, 对网页的请求通过负载均衡器路由到服务器 数据中心。该特定服务器会将网页返回到 浏览器,它根据 中指定的 DOM 规则呈现它以显示 网页。 因此,连接速度受以下因素影响: 1) 数据中心的位置 2) 负载均衡器使用的路由算法 3) 包含网页的服务器清除其发送的请求所需的时间

这是我在采访中给出的答案,被认为不够。我知道这可能是基本的,并且正在坚定地尽可能多地了解这个过程。请问有人可以很好地阐明这个问题吗?

我认为你可能过度分析了它。在浏览器上加载需要很长时间的网页在移动设备上加载需要很长时间,大多数情况下反之亦然。

资源大小(图像,html,CSS,JS等)比TCP握手,DNS,数据中心位置等需要更多的时间来加载。

此外,您可能希望指定更多详细信息 - 它是任何旧网页吗?它是由缺乏 CPU 能力等资源的服务器托管的网页吗?数据库受到的打击是否太严重,从而影响性能?

为了扩展这个概念:

http://www.pcworld.com/article/2038500/why-some-web-sites-are-much-slower-than-others.html

在我看来,从最有可能的候选人到最少的候选人:

  • 网速
  • 页面大小(使用 Chromes 开发工具检查加载哪些资源需要多长时间)以及开发人员是否知道他/她在做什么(CSS、JS 等中的选择器效率)。
  • 服务器电源/数据库电源
  • 各种网络复杂性(DNS、服务器位置、TCP 握手等)

确定我错过了一些,但我会随时添加到此列表中。

相关内容

  • 没有找到相关文章

最新更新