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

发布于:2023-08-27 ⋅ 阅读:(64) ⋅ 点赞:(0)

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

同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,你也直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

【软件测试】用300道面试题帮你上岸,每天刷一遍,让你直接入职,斩获心仪offer

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

写在最后

最后在这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助,有需要的朋友你可以【点击文末小卡片免费领取】

除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近300个G,包括基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源。

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。


 

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到