输入URL地址后浏览器发生了什么?

1,369 阅读2分钟
  1. 浏览器检查DNS(域名解析系统)缓存记录,查看域名对应的IP地址,为了寻找DNS的记录,浏览器会检查以下四种缓存:
  • 第一步:检查浏览器缓存,因为浏览器会维护着你在之前某段期间所访问的网站的DNS记录
  • 第二步:检查操作系统缓存,如果在浏览器缓存中没有找到,浏览器会通过系统调用底层的计算机操作系统的方式来取得记录
  • 第三步:检查路由缓存,如果在你的电脑上找不到记录,浏览器会和维护自身DNS缓存记录的路由进行通信
  • 第四步:检查ISP缓存,如果前几步都失败了,浏览器会转向互联网服务提供商,ISP维护着他自己的DNS服务器(这是最后一个寻找你请求URL地址缓存的地方)【ISP:网络服务提供商】【缓存对于调节网络流量和提高数据传输时间有着重要作用】 如果缓存中没有找到,ISP的DNS服务器就会启动DNS查询来寻找主机(如www.baidu.com)服务器的IP地址。DNS解析器一般通过递归查询和迭代查询的方式来找到对应的IP地址,找到后DNS解析器会把IP地址发送给你的浏览器。
  1. 接受到IP地址后,浏览器启动与服务器的TCP之间连接 浏览器接受到正确的IP地址,客户端就会跟服务器通过” TCP/IP三次握手”建立联系,服务器会匹配到IP地址然后传递信息,浏览器使用互联网协议(IP)来建立这种联系,TCP/IP的三次握手:
    • 第一步:客户端通过互联网发送SYN(同步序列号)给服务器,查询服务器是否对新的连接开发
    • 第二步:如果服务有开发的端口,可以接受并启动新的连接,服务器就会通过使用SYN/ACK包中的SYN包的确定状态响应来响应(SYN/ACK都会发送给客户端,ACK:确认字符)
    • 第三步:客户端会从服务器响应的SYN/ACK包,然后通过ACK包发送给服务端进行确认已接受服务端发来的数据
  2. 建立TCP连接成功后,浏览器就会给web服务器发送HTPP请求
  3. 服务器处理请求,并返回HTTP响应
  4. 浏览器展示服务器响应的内容到HTML,并展示出来
  • 注:域名解析和TCP连接在TCP/IP的应用层发生,HTTP的传输数据在TCP/IP的传输层发生,TCP/IP的网络层做的就是通过查找路由表将客户端的请求经过多个路由器后到达服务器。