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

时间:2015-01-15 03:31:43

标签: internet-explorer architecture mobile-website scalable system-design

我想构建一个非常详细的答案,为软件工程访谈做准备,并且真正理解“幕后”会发生什么。

我现在拥有的是:

  

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

这是我在采访中给出的答案,这被认为是不够的。据我所知,这可能是初步的,并且我已尽可能地了解这个过程。有人可以对这个问题有所了解吗?

1 个答案:

答案 0 :(得分:1)

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

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

此外,您可能想要指定更多详细信息 - 是否是旧网页?它是由服务器托管的网页,缺乏CPU资源等资源吗?数据库是否受到太大影响,这会影响性能?

扩展这个概念:

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

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

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

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