从浏览器角度来告诉你,URL后输入后按回车,浏览器内部究竟发生了什么

66 阅读2分钟
  1. DNS解析:浏览器会先检查该URL是否存在于缓存中,如果没有,则会向本地DNS服务器发送请求,获取该域名对应的IP地址。
  2. 建立TCP连接:浏览器会通过IP地址和端口号向服务器发起TCP连接请求,如果服务器接受该请求,则会建立TCP连接。
  3. 发送HTTP请求:浏览器会向服务器发送HTTP请求,请求中包含一些头部信息和请求体信息。
  4. 服务器响应:服务器接收到请求后,会根据请求内容返回相应的响应内容,响应内容中包含一些头部信息和响应体信息。
  5. 渲染页面:浏览器会根据响应内容中的HTML、CSS、JavaScript等代码,将页面渲染出来,最终呈现给用户。
  6. 断开TCP连接:页面渲染完成后,浏览器会向服务器发送断开TCP连接的请求,如果服务器接受该请求,则会断开TCP连接。

浏览器地址输入URL后,内部的进程、线程都做了哪些事

  1. 浏览器进程会接收到URL请求,然后启动一个新的渲染进程来处理该请求。
  2. 渲染进程会创建一个网络线程,用于进行网络请求,并通过DNS解析获取服务器的IP地址。
  3. 渲染进程会向服务器发起HTTP请求,并通过网络线程获取服务器返回的响应数据。
  4. 渲染进程会创建一个解析线程,用于解析HTML文档,并将解析后的DOM树和CSSOM树合并为渲染树。
  5. 渲染进程会创建一个布局线程,用于计算页面元素的位置和大小,然后将渲染树中的元素进行布局。
  6. 渲染进程会创建一个绘制线程,用于将布局后的元素进行绘制,并将绘制结果展示到屏幕上。
  7. 渲染进程会通过IPC(进程间通信)将渲染结果传递给浏览器进程,然后浏览器进程会将结果绘制到浏览器窗口中。
  8. 渲染进程会对页面进行监控,如果页面中有异步请求或定时器等操作,会创建相应的线程来处理。
  9. 渲染进程会在用户关闭页面或者浏览器时,释放资源,关闭线程和进程