当前位置: 首页 > news >正文

软件测试面试:浏览网页时都发生了什么?

当我们浏览一个网站时,从打开网址到返回网页结果,整个过程涉及多个步骤和技术,以下是一个详细的介绍。

1. 用户输入网址

用户在浏览器的地址栏中输入网站的URL(Uniform Resource Locator)。

2. DNS解析

浏览器将输入的URL发送给DNS 服务器,进行域名解析。DNS服务器将域名转换为对应的IP地址,以便后续的通信。

3. 建立TCP连接

浏览器使用HTTP(或HTTPS)协议 与服务器建立TCP(Transmission Control Protocol)连接。TCP协议确保数据可靠传输,并提供错误检测和纠正。

4. 发起HTTP请求

浏览器会先检查浏览器缓存,如果缓存中存在该资源,并且缓存未过期,则浏览器会直接使用缓存中的资源,不会向服务器发起HTTP请求。

如果缓存不存在或缓存已过期,则浏览器会向服务器发送HTTP请求。

请求由以下部分组成:

a. 请求行:包含请求方法(GET、POST等)、请求的URL和HTTP协议的版本。

b. 请求头:包含关于请求的额外信息,如用户代理(浏览器的类型和版本)、请求的资源类型、Cookie等。

c. 请求体:用于POST请求,包含请求时提交的数据。

在请求头中,浏览器会发送包含Cookie信息的HTTP请求头,这些Cookie通常是在前一次用户访问时通过Set-Cookie响应头设置的。

服务器可以通过读取HTTP请求头中的Cookie信息来识别用户身份,提供个性化的服务和功能。

5. 服务器处理请求

服务器收到浏览器发送的HTTP请求后,会根据请求的内容进行相应的处理。包括以下步骤:

a. 路由和处理:服务器根据请求的URL,将请求交给相应的处理程序(如后端框架、服务器脚本等)进行处理。

b. 数据库查询:如果需要从数据库中获取数据,服务器会执行相应的查询操作。

c. 业务逻辑:服务器根据具体需求执行业务逻辑,如验证用户信息、处理提交的数据等。

d. 构建响应:服务器生成HTTP响应,包含以下部分:

  • 状态行:包含响应状态码(表示请求的处理结果)和HTTP协议的版本。
  • 响应头:包含关于响应的额外信息,如内容类型(Content-Type)、服务器类型等。
  • 响应体:包含响应时返回给浏览器的内容,如网页的HTML代码、资源文件等。

在构建响应时,服务器可以将一些Cookie信息包含在Set-Cookie响应头中,这些Cookie可以包含用户身份信息、会话ID等。

6. 返回HTTP响应

服务器将构建好的HTTP响应发送回浏览器。

7. 下载网页内容

浏览器接收到服务器返回的HTTP响应后,开始下载 网页内容和相关资源,如CSS文件、JavaScript文件、图片等。

这些资源可能在响应头中指定了缓存策略,浏览器会根据缓存策略来决定是否从缓存中获取资源。

8. 解析和渲染网页

浏览器对下载的网页内容进行解析,构建DOM(文档对象模型)树,并将CSS样式应用于DOM树,生成渲染树,浏览器使用渲染树将网页内容显示在屏幕上。

9. 执行JavaScript代码

如果网页中包含JavaScript代码,浏览器会执行这些代码,以实现一些交互和动态效果。JavaScript代码可以修改DOM树和样式,处理用户的交互事件,发送异步请求等。

10. 关闭连接

浏览器完成网页的渲染和执行后,断开与服务器的TCP

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

http://www.jsqmd.com/news/1299640/

相关文章:

  • 江西企业想做小红书获客?找江西华邦国泰少走弯路 - 产品评测官
  • 道尔智控赋能深圳韵达物流园|智慧通行打造货运物流新范式 - 天下观知
  • AI搜索优化在山东本地化推广中的应用与策略
  • 数据仓库分层架构实战:从ODS到ADS的完整解析与避坑指南
  • 在运维工作中,如何验证pg数据库,有没有业务在连接或使用?
  • 温江区具备“保底协议”的单招集训营:美思学校2027级八大核心优势(附录取红线数据) - 四川成都单招培训
  • 9年传统后端转AI,拿下25K Offer:现在AI面试都卷到这个深度了?
  • 一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
  • 领克多款车型激光雷达故障频发,车主维权、销量下滑双重困境待解!
  • 2026长沙市智能井盖锁厂家推荐,电子智能锁厂家哪家好避坑指南:4个坑+5条硬标准,本地厂家推荐 - mobible
  • 2026 定西合规非急救监护转运救护车 甘青宁川四省跨省重症护送服务 - 天下观知
  • Arteris NoC培训实战:从IP集成到SoC架构师的片上网络设计指南
  • DSP与MCU选型指南:从信号处理到控制逻辑的实战对比
  • 2026江西风口源头厂家实力评估:ABS风口、铝合金风口、防火阀、风机制造商推荐,江西亿通通风设备 - 栗子测评
  • G-Helper完整指南:告别臃肿控制软件,解锁华硕笔记本真正性能
  • 沈阳软装动线重构优化:从入户到起居,让每一寸空间都为你让路 - 章鱼智讯
  • 西门子S7-200 PLC在自动售卖机控制系统中的应用
  • 嵌入式Linux开发工具箱:从核心工具链到实战调试命令全解析
  • 化妆品级炉甘石粉选购指南:科学选购避坑全攻略 - 汇聚至此
  • QQ空间历史说说终极备份指南:GetQzonehistory免费工具完整使用教程
  • 二叉搜索树(BST)原理、实现与工程实践
  • Python开发环境搭建与VSCode配置全攻略:从安装到虚拟环境管理
  • 2026想考导游证学历不够?电大中专最快一年拿证! - 小张zc
  • 2026工程信息平台选型指南:瑞达恒从商机挖掘到CRM闭环,一站式服务价值重估 - 天下观知
  • Krita 5.3.3 和 6.0.3 版本发布:多方面修复改进,安卓版新增支持开发与资源包下载功能
  • 终极指南:如何用阴阳师百鬼夜行AI自动化脚本快速收集式神碎片
  • 基于Simulink的电机双环PI控制:从理论建模到仿真整定全流程
  • 云浮彩色陶瓷路面厂家推荐、透水混凝土保护剂厂家哪家好怎么选不踩坑?厂家推荐这份避坑指南 - mobible
  • 小米运动自动刷步数:5分钟搭建你的智能健康数据管家
  • 2026 合肥适合求婚场地推荐|室内包厢 户外草坪场地大全 - 星际AI