news 2026/4/18 8:26:27

浏览器输入url后。。。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
浏览器输入url后。。。

面试回答(结构化 + 技术细节):

当在浏览器地址栏输入一个 URL 并按下回车后,整个过程大致可以分为以下几个阶段:


1.URL 解析
  • 浏览器首先解析输入的 URL,判断是否为合法格式。
  • 如果没有协议(如http://https://),浏览器会默认加上http://(现代浏览器通常优先尝试https)。
  • 同时也会检查是否是关键词(比如直接输入“百度”),如果是,会触发搜索引擎跳转。

2.DNS 查询(域名解析)
  • 浏览器需要将域名(如www.example.com)解析成对应的 IP 地址。
  • 查询顺序一般是:
    • 浏览器缓存
    • 操作系统缓存(如 hosts 文件)
    • 路由器缓存
    • ISP 的 DNS 服务器
    • 根域名服务器 → 顶级域(.com)→ 权威 DNS 服务器
  • 最终获得目标服务器的 IP 地址。

💡 补充:现代浏览器会做 DNS Prefetch(预解析)优化,提前解析页面中可能用到的域名。


3.建立 TCP 连接(三次握手)
  • 浏览器通过获得的 IP 地址和端口(默认 80/443)向服务器发起 TCP 连接。
  • TCP 三次握手过程:
    1. 客户端发送 SYN
    2. 服务端回复 SYN-ACK
    3. 客户端发送 ACK
  • 若是 HTTPS,则还需进行 TLS 握手(加密协商、证书验证等)。

💡 补充:HTTP/2 和 HTTP/3 对连接有进一步优化,如多路复用、减少握手延迟等。


4.发送 HTTP 请求
  • TCP 连接建立后,浏览器构造 HTTP 请求报文(包含请求方法、Header、Body 等),发送给服务器。
  • 如果是 HTTPS,数据会经过 TLS 加密后再传输。

5.服务器处理请求并返回响应
  • 服务器接收到请求后,由 Web 服务器(如 Nginx)或应用服务器(如 Node.js、Java Spring)处理。
  • 可能涉及数据库查询、业务逻辑处理等。
  • 最终生成 HTTP 响应(状态码、响应头、HTML/CSS/JS 内容等)返回给浏览器。

6.浏览器解析与渲染页面
  • 浏览器接收到响应后,开始解析 HTML,构建 DOM 树。
  • 同时解析 CSS,构建 CSSOM 树。
  • DOM + CSSOM → Render Tree(渲染树)
  • 布局(Layout / Reflow)→ 绘制(Paint)→ 合成(Composite)
  • 如果遇到<script>标签,默认会阻塞 HTML 解析(除非加asyncdefer

💡 补充:关键渲染路径(Critical Rendering Path)是性能优化的重点。


7.加载额外资源
  • HTML 中引用的 JS、CSS、图片、字体等资源会触发新的 HTTP 请求(可能复用已有 TCP 连接)。
  • 浏览器会根据资源优先级调度加载(Preload、Prefetch 等机制)。

8.页面交互与后续操作
  • JS 执行可能修改 DOM、发起 AJAX 请求、监听用户事件等。
  • 页面进入可交互状态(TTI: Time to Interactive)。

总结(一句话概括):

从 URL 输入到页面展示,经历了URL 解析 → DNS 查询 → TCP/TLS 握手 → HTTP 请求/响应 → 浏览器渲染 → 资源加载 → 交互就绪的完整链路。


面试加分项(可根据岗位深度选择提及):

  • 安全方面:HTTPS 的作用、证书验证、HSTS
  • 性能优化:DNS Prefetch、TCP Fast Open、HTTP/2 多路复用、资源压缩、缓存策略(Cache-Control、ETag)
  • 前端工程化:如何通过代码分割、懒加载等减少首屏时间
  • 浏览器机制:同源策略、CORS、Service Worker(PWA)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 17:50:35

PyTorch训练速度提升5倍?关键在于正确使用CUDA镜像

PyTorch训练速度提升5倍&#xff1f;关键在于正确使用CUDA镜像 在深度学习项目中&#xff0c;你是否经历过这样的场景&#xff1a;刚写完一个新模型&#xff0c;满心期待地按下运行键&#xff0c;结果发现训练一轮要两个小时&#xff1f;查看资源监控才发现——GPU利用率只有10…

作者头像 李华
网站建设 2026/4/12 0:26:48

QLoRA量化微调教程:结合PyTorch-CUDA-v2.7节省显存开销

QLoRA量化微调实战&#xff1a;基于PyTorch-CUDA-v2.7实现高效显存管理 在大模型时代&#xff0c;一个现实问题摆在每个开发者面前&#xff1a;如何用一张消费级显卡微调70亿参数以上的语言模型&#xff1f;传统全量微调动辄需要80GB显存&#xff0c;而QLoRA的出现彻底改变了这…

作者头像 李华
网站建设 2026/4/18 8:09:05

Git下载大型项目配合PyTorch-CUDA镜像实现端到端开发流程

Git下载大型项目配合PyTorch-CUDA镜像实现端到端开发流程 在深度学习项目日益庞大的今天&#xff0c;一个典型模型仓库动辄几十GB——不仅包含成千上万行代码&#xff0c;还有预训练权重、数据集链接、文档资源和复杂的依赖树。当你试图复现一篇论文或接手团队项目时&#xff0…

作者头像 李华
网站建设 2026/4/16 5:19:10

使用PyTorch-CUDA-v2.7镜像快速启动Transformer文本生成任务

使用PyTorch-CUDA-v2.7镜像快速启动Transformer文本生成任务 在大模型遍地开花的今天&#xff0c;一个常见的场景是&#xff1a;你刚找到一篇惊艳的论文&#xff0c;迫不及待想复现它的文本生成效果。但还没开始写代码&#xff0c;就卡在了环境配置上——Python版本不对、PyTor…

作者头像 李华
网站建设 2026/4/7 14:46:07

PyTorch 2.7版本新特性一览:结合CUDA镜像提升推理速度

PyTorch 2.7版本新特性一览&#xff1a;结合CUDA镜像提升推理速度 在AI模型日益复杂、部署节奏不断加快的今天&#xff0c;一个常见的痛点浮出水面&#xff1a;为什么本地能跑通的代码&#xff0c;换台机器就报“CUDA not available”&#xff1f;为什么训练完的模型一上线&…

作者头像 李华
网站建设 2026/4/18 8:40:54

Git克隆项目后如何快速运行?配合PyTorch镜像免依赖烦恼

Git克隆项目后如何快速运行&#xff1f;配合PyTorch镜像免依赖烦恼 在人工智能实验室的深夜&#xff0c;你终于找到了一篇顶会论文对应的开源实现。兴奋地 git clone 下来后&#xff0c;满怀期待地执行 python train.py ——结果第一行就报错&#xff1a;ModuleNotFoundError: …

作者头像 李华