输入url后,触发的前端相关事件

在浏览器输入 URL 后,通常会触发以下一系列事件和操作:

  1. URL 解析 :浏览器会解析用户输入的 URL,包括协议(如 http://https://)、主机名、端口号(如果有)、路径和查询参数等。

  2. DNS 查询:如果 URL 中包含主机名,浏览器会向 DNS 服务器发送查询请求,以获取主机名对应的 IP 地址。

  3. 建立 TCP 连接:浏览器使用获取到的 IP 地址和端口号,与服务器建立 TCP 连接。

  4. 发起 HTTP 请求:一旦建立了 TCP 连接,浏览器会向服务器发送 HTTP 请求,请求资源对应的路径。

  5. 服务器响应:服务器收到请求后,会处理请求并返回相应的 HTTP 响应,包括响应头和响应体。

  6. 接收响应:浏览器接收到服务器的响应后,开始处理响应内容。

  7. 渲染页面:如果响应是 HTML 页面,浏览器会解析 HTML、构建 DOM 树、构建 CSSOM 树,然后将它们合并成渲染树,最终将页面内容显示在浏览器窗口中。

  8. 下载资源:页面中可能包含其他资源(如 CSS 文件、JavaScript 文件、图片等),浏览器会解析 HTML,发现这些资源,并且对每个资源发起相应的 HTTP 请求。

  9. 并行加载资源:浏览器会尽可能地并行加载多个资源,以减少页面加载时间。

  10. 执行 JavaScript:如果页面中包含 JavaScript 代码,浏览器会下载并执行 JavaScript 文件,以完成页面的交互和动态效果。

  11. 渲染页面元素:浏览器会根据 DOM 树和 CSSOM 树,计算每个元素的位置和样式,然后将页面元素绘制在浏览器窗口中。

  12. 完成加载 :当页面中的所有资源都加载完成,并且页面渲染完成后,浏览器会触发 load 事件,表示页面加载完成。

总结:

URL解析 -> DNS查询 -> DNS查询 -> 建立TCP连接 -> 发起HTTP请求 -> 服务器响应 -> 接收响应 -> 渲染页面 -> 下载资源 -> 并行下载资源 -> 执行js -> 渲染页面元素 -> 完成加载

相关推荐
kyriewen3 小时前
我花3天抓了一个幽灵bug,凶手藏在第4层
前端·javascript·程序员
IT_陈寒4 小时前
Java里用Stream.parallel()翻车实录,这性能还不如单线程
前端·人工智能·后端
wangchunyu1144 小时前
JavaScript 零基础入门教程
前端
hanchenxing4 小时前
前端异步任务三方案:Celery vs Redis Stream vs BullMQ 实战对比消息队列
前端·数据库·redis·异步任务·方案对比
默_笙5 小时前
⚓ AI 的"官方答题卡":withStructuredOutput 与结构化输出的终局之战
前端·javascript
掘金挖土5 小时前
前端手摸手跑路之 AI 应用开发(五)
前端·后端
小羊没烦恼!5 小时前
Memory 记忆设计讨论:Agent Memory 的数据模型可以怎么设计
java·开发语言·前端·c++·c#
码上成长6 小时前
Mapbox 围栏编辑踩过的几个坑:key 串了、形状炸了、icon 挡住绿点
前端·前端框架
SGAMERrain6 小时前
做了一个免费的在线绘画网格工具 DrawGrid,聊聊一个小工具是怎么越做越完整的
前端
我家猫叫佩奇6 小时前
🦭 厌倦了千篇一律的线性图标?Naive Icons 正式开源
前端·javascript·css