首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(1)当你输入URL到页面显示经历了什么--URL到IP地址

(1)当你输入URL到页面显示经历了什么--URL到IP地址

作者头像
前端黑板报
发布2018-01-29 17:13:38
1K0
发布2018-01-29 17:13:38
举报
文章被收录于专栏:前端黑板报前端黑板报

这是一个经典的问题,能区分知识的广度与深度,从回答的侧重点上甚至能区分出工种(前端、后端、运维等)。开发人员基本上都能说出几点,而牛人更可在自己擅长的地方发挥到淋漓尽致。

由于知识有限,我只从下面四点说说对此问题的认知:

  1. URL到IP地址的转变
  2. 浏览器发出请求
  3. 服务器处理请求并返回
  4. 浏览器接收请求并显示结果

整个过程和下图基本相同:

这次只说第一步:

1.URL到IP地址的转变

由于人对记住毫无意义的数字(IP地址)吃力,而对有意义的字母组合(域名)更容易接受,而机器对数字更加敏感。为了能把两者联系上,就出现了 DNS (Domain Name System)可理解为翻译官,所以为了能访问一个网站,首先要把URL转为IP地址,查询的顺序如下:

  1. Browser cache:浏览器自身会缓存DNS一段时间。

Chrome我测下来是60秒:

Firefox是直接能看到配置,默认是60秒:

2. OS cache:若浏览器里没有记录,浏览器则会向系统发送消息,请求查询,一般是查询hosts文件。

3. Router cache: 接着到了自身包含缓存的路由器上。

4. ISP cache: 若以上都失败则到了ISP的DNS缓存,然后开始迭代或递归式查找IP地址。从根域(.)到顶级域(.com),再到第二层域(zhuxinyong.com)最后到主机(www.zhuxinyong.com)

就这样一级一级的找,最后找到IP地址然后原路返回,同时在相应的点缓存上本次查询的域名对应的IP地址,防止下次同一域名过来还要经过这样的查询过程。

DNS解析分:

1.递归解析:

2.迭代解析:

整个过程,简单点的如下图:

稍微复杂点的如下图:

完整的如下图:

最后拿到IP地址就可以请求服务器了!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端黑板报 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档