细节过于复杂,这里只是简述:

1.DNS 解析:将域名解析成 IP 地址。输入一个网址之后,浏览器首先会查找该网址对应的IP地址。

    1)首先在浏览器缓存查找, 浏览器会缓存DNS记录一段时间,一般是2分钟到30分钟不等。

    2)如果浏览器缓存中找不到需要的 DNS 记录,那就去操作系统中找,在C盘的hosts文件中查看是否存在域名与IP的映射关系。

    3)路由缓存:将查询请求发向路由器,路由器也有 DNS 缓存。

    4)查找本地DNS服务器(ISP服务器),在这一般都能找到相应的缓存记录。

      5)根服务器:如果本地的DNS 服务器还找不到的话,它就会向根服务器发出请求,进行递归查询。

2.TCP 三次握手: 首先在客户端发送数据之前会发起 TCP 三次握手用以同步客户端和服务端的序列号和确认号,并交换 TCP 窗口大小信息。

3. 三次握手结束后,浏览器开始发送 http请求给对应服务器。

4. 服务器收到http请求;处理请求并将它的处理结果返回,也就是返回一个http响应。

5.浏览器解析并渲染页面:浏览器接收到服务器返回的html页面数据,开始渲染DOM树,DOM树生成后,页面呈现。

6.断开连接:当数据传送完毕,需要断开 tcp 连接,此时发起 tcp 四次挥手。