第一步:浏览器通过DNS解析得到url的IP地址

DNS解析过程概述:
1.客户端提出域名解析请求,并将该请求发送给本地的域名服务器。
2.浏览器首先查询本地的缓存,如果有该项纪录,则直接将查询的结果返回。
备注:本地缓存的查询过程:(1).通过浏览器缓存。浏览器会缓存DNS记录一段时间,不同的浏览器有不同的缓存时间。(2).如果在浏览器缓存中没有找到该记录,浏览器会做一个系统调用,来查找系统缓存的记录。(3).如果在系统缓存中还未找到,则检查路由器缓存。

迭代查询过程如下:
从页面输入url到页面呈现的过程
至此,浏览器就得到了url的IP地址。

第二步:浏览器得到服务器端的IP地址后,与服务器端建立TCP连接

建立TCP连接的过程就是三次握手过程。
这里简述一下三次握手的过程:
1. 客户端向服务器端发送连接请求的报文;
2. 服务器端收到请求后,同意建立连接,向客户端发送确认报文;
3. 客户端收到服务器端的确认报文后,再次向服务器端发出报文,确认已收到确认报文。

至此,浏览器与服务器已经建立了TCP连接,开始进行通信。

3.建立TCP连接后,浏览器向服务器发送http请求
例如:浏览器发出取文件指令GET。

4.服务器响应http请求,将请求的指定资源发送给浏览器

5.浏览器释放TCP连接

释放TCP连接的过程就是四次挥手过程。
这里简述一下四次挥手过程:
1.浏览器向服务器发送释放连接报文;
2.服务器收到释放报文后,发出确认报文,然后将服务器上未传送完的数据发送完;
3.服务器数据传输完成后,向浏览器发送释放连接请求;
4.浏览器收到报文后,发出确认,然后等待一段时间后,释放TCP连接。

6.浏览器得到完整的html代码开始进行解析与渲染,如果遇到外部引用的css,图片等资源,同样发送一个http请求。

7.浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现出来。

补充:DNS域名系统的工作原理:

当一个应用进程需要把某个域名解析成为IP地址时,该应用进程会调用解析程序,并成为一个DNS用户。把待解析的域名放在DNS请求报文中,以UDP数据报的形式发送给本地域名服务器,本地域名服务器查找到相对应的IP地址后,就将该域名的IP地址信息放入应答报文中返回给应用进程。
如果本地域名服务器没有直接找到相对应的IP地址,则向根域名服务器发出迭代查询,再将查询到的IP地址返回给应用进程。

相关文章:

  • 2021-09-19
  • 2021-06-02
  • 2021-09-30
  • 2021-11-20
  • 2021-12-12
  • 2021-09-30
猜你喜欢
  • 2022-02-23
  • 2023-03-04
  • 2021-05-04
  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
  • 2021-09-11
相关资源
相似解决方案