从输入一个url到浏览器页面展示都经历了哪些过程?

478 阅读1分钟

[HTTP请求阶段:向服务器发送请求]

  • 1.浏览器首先向DNS域名解析服务器发送请求
  • 2.DNS反解析:根据浏览器请求地址中的域名,到DNS服务器找到对应的服务器外网IP地址
  • 3.通过找到的外网IP,向对应的服务器发送请求(首先访问的是服务器的web站点管理工具:准确来说是我们先基于工具在服务器创建很多服务,当有客户端访问的时候,服务器会匹配出具体是哪个请求哪个服务)
  • 4.通过url地址中携带的端口号,找到服务器对应的服务,以及服务所管理的项目源文件

[HTTP响应阶段:服务器把客户端需要的内容准备好,并且返回给客户端]

  • 5.服务器端根据请求地址中的路径名称,问号传参或者哈希值,把客户端需要的内容准备和处理
  • 6.把准备的内容响应给客户端(如果请求的是HTML或者CSS等这样的源文件,服务器返回的是资源文件中的源代码[不是文件本身])

[服务器渲染阶段]

  • 7.客户端浏览器接收到服务器返回的源代码,基于自己内部的渲染引擎(内核)开始进行页面的绘制和渲染
    • 首先计算dom结构,生成dom tree
    • 自上而下运行代码,加载css等资源内容
    • 根据获取的css开始渲染(绘制)页面,render tree
    • 开始渲染和绘制