专栏名称: 聊聊架构
聊聊架构
目录
相关文章推荐
51好读  ›  专栏  ›  聊聊架构

面试题:在浏览器输入“google.com”后都发生了什么?

聊聊架构  · 公众号  · 架构  · 2018-09-19 18:44

正文

请到「今天看啥」查看全文


我认为 Google 要做的下一件事是通过负载均衡器上的 Web 应用程序防火墙规则来检查它是否是恶意请求。在通过检查后,安全连接可能就终止了(因为 PCI-DSS 安全标准规定不需要加密内部流量),请求将被分配到 CDN 池中,然后通过 HTTP 响应返回 Google 主页,可能是预先压缩过的。

浏览器将读取返回的消息响应头,根据响应头的缓存策略对内容进行缓存,然后正文将被解压缩。Google 可能对消息做过优化,比如对正文进行了缩小化,包括很多预渲染内容、内联 CSS、JavaScript 和图像,以便减少网络请求数和首次渲染时间。然后这个请求将触发一系列其他请求,所有这些请求都是并发的,因为使用了 HTTP/2。在发出这些请求的同时,JavaScript 会被解析,可能会使用非阻塞模式,因为标签上使用了 defer 或 async。

此时,浏览器可能已经渲染好了搜索框,并对顶部的工具栏做一些事情,这需要一些额外的网络请求——我可能已经有 Cookie 了,或者是带有 OAuth 令牌的本地存储——或我使用的是 Chrome,所以它已经知道我是谁,然后将请求和认证信息发送给 Google+ API,告诉 Google 搜索应用程序我是谁。

另一个请求将被发送给服务器,用来获取我的头像。这个时候,他们可以嗅探我是不是在使用 Chrome,如果不是,他们会弹出一个工具提示框,告诉我 Chrome 有多好,我应该使用它而不是其他浏览器。

我认为差不多就是这样,一切都发生在一眨眼的功夫内。

有哪些明显不一样的地方?

让我们来看看 DNS 查找:







请到「今天看啥」查看全文


推荐文章
艾瑞咨询  ·  互联网慢病管理,突围点何在?
8 年前
九章算法  ·  免费讲座 | OOD 设计 & 面试真题讲解
8 年前
iWeekly周末画报  ·  以CDG为名的一场罗生门
8 年前