当你在浏览器中输入 google.com 并且按下回车之后发生了什么?

2017-03-05 21:35:25 +08:00
 tianshuang

这是一道古老的面试题,不过我们不再局限于平常的回答,而是想办法回答地尽可能具体,不遗漏任何细节。 GitHub 上已经有人整理了相关技术细节,详情请点击左下角阅读原文。

https://mp.weixin.qq.com/s?__biz=MzIzMDc5NzUwNg==&mid=2247483652&idx=1&sn=658cd37e07d09c9da30854fb30467d82&chksm=e8acb8a9dfdb31bfcea4ea4f91bb83d5bea329ef75a2ebd6281b9d0a0f6dc604b9455aed87e4&mpshare=1&scene=23&srcid=03056Pd20LNHSk0d44wdgW3j%23rd

9530 次点击
所在节点    程序员
52 条回复
zingl
2017-03-06 21:27:29 +08:00
你们都没有说如果浏览器和 /或系统设置了代理服务器的情况,严格来说都不完整
bayernmunchen
2017-03-06 21:41:58 +08:00
你访问的地址不存在
eroneko
2017-03-06 21:47:22 +08:00
现在改成 Google.cn 结论就差不多了
RobertYang
2017-03-06 23:31:19 +08:00
TCP REST
PoloLee
2017-03-07 04:44:18 +08:00
看标题,以为会详细讲一下 GFW ...
lan894734188
2017-03-07 05:20:18 +08:00
浏览器发送 dns 查询
系统查询缓存
木有
系统看看我的 dns 是多少
系统通过默认路由发出
路由收到 跟据路由表转发
.
.
.
.
.
路由收到 跟据路由表转发
dns 收到请求
dns 查询缓存
秒 get 到一个神奇的地址
dns 返回结果
路由收到 跟据路由表转发
.
.
.
.
.
路由收到 跟据路由表转发
客户端收到 告诉浏览器
浏览器尝试访问一个神奇的地址






连接超时
bxgty
2017-03-07 06:24:50 +08:00
题主既然说了"不遗漏任何细节"...
就应该至少说说(最重要的) google 数据中心内部发生了什么
另外,如果提一下 CDN 也会很好啊
ragnaroks
2017-03-07 08:27:21 +08:00
koebehshian
2017-03-07 08:38:15 +08:00
没人提 hosts 文件,还有底层的 TCP 窗口,路由,数据链路层拆分成帧,校验,还有物理层的调制解调.
总得分为三部分:一,电脑的变化.二,传播路径的变化.三,谷歌服务器的变化.文中貌似只提了第一部分
freeznet
2017-03-07 08:47:16 +08:00
dif
2017-03-07 11:41:08 +08:00
404
billwsy
2017-03-07 13:13:29 +08:00
没提到 AS15169 里面的故事呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/345144

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX