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

1. DNS解析

浏览器根据输入的URL去查找对应的IP地址。

  1. 查找浏览器缓存。浏览器会保存一段时间内访问过的一些网址的DNS信息,不同浏览器保存的时长不等。
  2. 若未找到对应记录,浏览器就会做一个系统调用查找系统缓存
  3. 若还未找到对应记录,浏览器就会发送一个请求到路由器上,然后路由器在自己的DNS缓存中查找记录
  4. 若还未找到对应记录,该请求会被发往ISP(互联网服务提供商,即中国移动、中国电信等),查找ISP缓存DNS的服务器,即本地DNS服务器。
  5. 若还未找到对应记录,ISP的DNS服务器就会从根域名服务器开始进行递归搜索
  6. 若还未找到对应记录,说明该域名不存在(未在网上正式注册过或域名已过期)

也就是说,DNS根据域名查询IP地址的过程为:浏览器缓存——操作系统缓存——本地域名服务器缓存——根域名服务器

2. 浏览器根据IP地址向Web服务器发送一个HTTP请求(服务器可能会发生重定向)

浏览器和服务器建立连接后,浏览器给web服务器发送一个HTTP请求,方式为GET,例如访问www.baidu.com,本质是在建立起的TCP连接中,按照HTTP协议标准发送一个索要网页的请求。
服务器发生重定向的话,浏览器就会跟踪重定向地址,发送另一个获取请求到该地址。

3. 服务器收到请求并进行处理

4. 服务器返回一个HTTP响应

5. 浏览器对响应进行解码,渲染显示

在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了,如果是个静态的页面,到此就基本结束了。
如果是是动态的,那么在浏览器显示HTML时,会获取嵌入在HTML中的对象,浏览器会发送获取请求来重新获得这些文件。这些请求都要经历一个和HTML读取类似的过程。 

对于静态的页面内容,浏览器通常会进行缓存,而对于动态的内容,浏览器通常不会进行缓存。

6. 页面显示完成,浏览器发送异步请求

页面显示完成后客户端仍与服务器端保持着联系,从而及时更新一些页面信息。
在浏览器中执行的JavaScript代码会给服务器发送异步请求。这个异步请求发送给特定的地址,它是一个按照程式构造的获取或发送请求。
参考1
参考2
参考3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值