从输入一个URL到浏览器接收到响应的过程发生了什么?

这是一道经典的面试题,主要考察对计算机网络知识的掌握,我们可以这样作答:

1.在浏览器中输入 url ,并请求

2.应用层解析 url

  • 浏览器先查看(浏览器缓存 - 系统缓存 - 路由器缓存),如果这些缓存中有当前 url 的 web资源,则直接展示页面,如果没有,需要进行域名解析
  • 域名解析(DNS解析),将域名转换为 IP地址
  • 应用层生成 HTTP请求报文

3.传输层 TCP协议 传输报文

  • 传输层的 TCP协议 提供可靠的数据传输服务
  • TCP协议 是面向连接的,所以需要 “三次握手” 建立连接

4.建立起连接之后,浏览器向服务器发送 HTTP请求报文

5.网络层 IP协议 选择路线

  • IP协议 将用户报文封装成组进行数据传输
  • ARP协议(地域解析协议),将 IP地址 解析为对应的 MAC地址,便于数据传输

6.数据到达数据链路层,在相邻结点间无差错的、可靠的传输数据帧

7.服务器接收数据,处理收到的请求,将响应返回至浏览器

8.浏览器接收到 HTTP响应

至此,从输入 url 到浏览器接收响应的过程结束。那么响应页面是如何展示的呢?

  1. 读取页面内容,浏览器进行渲染,解析 html源码
  2. 生成 Dom 树,解析 css 样式,js 交互
  3. ajax 查询
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值