浏览器输入一个网址后发生了什么

发布时间 2023-08-04 15:07:30作者: 懵逼的程序小白

浏览器输入一个网址后发生了什么

  1. 域名解析

    网络上的各个计算机之间相互通信通过其ip地址识别的,而我们输入的网址仅仅方便我们记忆而取得名字,计算机不能直接识别,所以就需要将计算机网址转换成IP地址,这个过程叫做域名解析:首先从浏览器缓存中找域名和ip的对照表,如果找不到,再从本机操作系统的缓存里面去找这个对照表,如果仍然没有,就去外部的DNS服务器来解析域名

  2. 建立TCP连接

    域名解析完成后,客户端需要和服务端建立TCP连接实现融信,这个过程需要三次握手

  3. 发出http请求

    TCP连接建立后,客户端向服务端发出http请求,请求获取资源

  4. 响应请求

    服务端收到客户端发出的请求后,响应请求,向客户端发送资源

  5. TCP断开连接

    客户端收到服务端的响应后,客户端与服务端均可主动断开TCP连接,这个过程需要四次挥手

  6. 解析资源

    对于从服务端收到的资源,浏览器解析HTML,生成dom树,解析css生成css树,然后将dom树与css树结合,生成render渲染树

  7. 布局渲染

域名解析

本机电脑检查浏览器缓存中有没有域名对应的IP地址,如果有,解析结束

如果没有,浏览器会查找本地操作系统缓存中是否有这个域名对应的DNS解析结果,文件子啊hosts中

1,2都无法解析时,需要去DNS服务器查找。操作系统会把域名发送给本地DNS服务器,,如果本地DNS服务器仍然没有命中,就直接到根DNS服务器请求解析

根DNS服务器返回给本地DNS域名服务器一个顶级服务器地址,其实国际顶级域名服务器,如com cn org

此时本地DNS服务器再向上一步获得得顶级DNS服务器发送请求

顶级DNS服务器查找并返回此域名对应的name server服务器,这个域名服务器就是要访问的网站域名提供商的服务器,它查询域名和ip的对照表后返回ip等信息给本地DNS服务器