前言
浏览器是如今必不可少的工具之一,每天都有无数人通过浏览器获取自己需要的信息。那么当你在浏览器中键入一行网址后究竟发生了什么?我们下面一起捋一捋。
图解
具体分析
DNS解析
所谓解析就是把方便人类记忆的域名翻译成计算机的ip地址。比如输入的url是www.baidu.com
,首先在本地域名服务器中寻找ip地址,如果没找到,本地域名服务器会请求根域名服务器寻找,如果还是没找到,本地域名服务器会请求com顶级域名服务器,如果还找不到,那么本地域名服务器继续请求baidu.com域服务器。
在linux命令行中输入dig baidu.com +trace
可以详细看到dns解析过程。
1、查询了根域名服务器 ,返回了13个根域名服务器的主机名。(目前全球一共13个根域名服务器)
1 | ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> baidu.com +trace |
2、返回com.
顶级域名服务器信息
1 | com. 172800 IN NS e.gtld-servers.net. |
3、返回baidu.com.
域服务器信息
1 | baidu.com. 172800 IN NS ns2.baidu.com. |
4、最终查到了ip地址
1 | baidu.com. 600 IN A 39.156.69.79 |
找到ip地址后会将其存入DNS缓存方便下次查询。
DNS负载均衡
如果一个网站用户很多,那么一台机器显然无法满足大量的请求。DNS负载均衡可以在DNS服务器中为一个域名配备多个ip地址,从而引导用户访问到不同的机器。CDN就是负载均衡技术的体现,它把和用户最近的服务器ip返回给用户。
浏览器进行http请求 服务器返回响应
http是使用tcp作为传输协议的,关于tcp协议可以参考我的另一篇文章。这一段传输过程可以参考《图解HTTP》中的下图。
浏览器渲染页面
浏览器首先解析HTML构建DOM树,然后解析CSS构建CSS规则树,将DOM树和规则树合成渲染树。之后遍历渲染树开始布局,计算每个节点的位置大小信息,将渲染树每个节点绘制到屏幕。具体过程可以参考这篇文章
参考文章
https://segmentfault.com/a/1190000006879700
https://zhuanlan.zhihu.com/p/133906695
https://juejin.cn/post/6844903565610188807
发布时间: 2021-02-10
最后更新: 2021-02-15
本文标题: 天天都用浏览器的你知道输入网址后发生了什么吗?
本文链接: https://eziozhao.com/article/56265d99.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
