浏览器输入url到页面加载过程

来源:互联网 发布:fileinput.js 参数 编辑:程序博客网 时间:2024/05/29 09:40

腾讯笔试题的一道问答题

大概过程是这样的

  1. DNS解析:浏览器根据用户输的URL提交给DNS解析出真实的ip地址
  2. 客户端与服务器进行tcp连接
  3. 客户端进行请求数据:发送HTTP请求
  4. 服务器进行响应:服务器处理请求并返回HTTP报文
    • (1)服务器的永久重定向响应)
    • (2)浏览器跟踪重定向地址
    • (3)服务器处理请求,获取需要获取的内容并返回HTTP报文
      客户端对返回的资源进行(html,css,js,img)进行语法解析,建立相应的数据结构
  5. 浏览器显示 HTML:载入解析的资源文件,进对页面进行渲染,
    • 浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、CSS、JS等等)
    • 记住在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了
    • 解析html过程:构建dom树 -> 构建render树 -> 布局render树 -> 绘制render树

说明

浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包,服务器调用自身服务,返回HTTP Response(响应)包;客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内容随后断开与该服务器之间的TCP连接。

0 0
原创粉丝点击