校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > js语言和框架 > 浏览器页面渲染
题目

从浏览器输入URL到展示页面的全流程是怎么样的?

解答

本题目可以理解为从本地终端(如手机、电脑)访问一个网站,怎么处理请求并且加载出数据的。实际上考察的是计算机网络TCP/IP协议栈。

主要的得分项为TCP协议各层的描述、数据传送的封装和解包、一次页面包含多个TCP连接,另外还有一个加分项,能不能考虑到浏览器缓存的情况。

  1. 输入URL,浏览器读取缓存,判断请求是否被缓存,如果是,直接加载数据;不是的话,进行下列请求。
  2. 访问应用层,通过DNS协议进行域名解析,找到对应服务器的IP地址,进行请求。
  3. 访问TCP层,在请求数据前加上TCP协议头,通过可靠传输协议,向IP层传递。
  4. IP层,通过路由选址等操作,找出通往对应服务器接口的路由方案,并且对TCP数据进一步封装,在前面加上IP协议头
  5. 通过数据链路层访问到服务器的链路层接口
  6. 服务器按照链路层、IP层、TCP层、应用层的顺序进行请求传递,并逐层去除协议头。
  7. 请求到的数据原路返回,展现到页面上。
  8. 一次请求会建立多个TCP请求,比如每一个图片或CSS等资源都会建立一个TCP请求,请求结束会断开连接。
C 1条回复 评论
ludierr

1.输入URL,浏览器读取缓存,如果被缓存,加载数据
2.应用层,DNS协议域名解析,找服务器IP地址,请求
3.TCP层,请求数据前加TCP协议头,可靠传输协议,向IP层传递
3.IP层,路由选址等,找通往对应服务器接口路由方案,TCP数据前加IP协议头
4.数据链路层访问服务器链路层接口
5.逐层去除协议头
6.数据原路返回
7.一次请求建多个TCP请求

发表于 2020-11-22 09:46:34
0 0