浏览器输入url到渲染完成经历了那些内容

2024-09-04 14:04

本文主要是介绍浏览器输入url到渲染完成经历了那些内容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问:

浏览器输入url到渲染完成经历了那些内容

回答:

从浏览器输入 URL 到页面渲染完成的过程涉及多个步骤,每个步骤都涉及特定的网络和计算机科学技术。以下是这一过程的基本流程:

  1. URL 解析

    • 用户在浏览器地址栏输入 URL(统一资源定位符)。
    • 浏览器解析 URL,分解成协议(如 HTTP/HTTPS)、域名、路径、查询参数等。
  2. DNS 查询

    • 浏览器检查本地缓存是否有该域名的 IP 地址。如果没有,发起 DNS 查询,将域名转换为 IP 地址。
    • DNS 服务器返回域名对应的 IP 地址。
  3. 建立 TCP 连接

    • 使用 IP 地址和端口号(通常是 80 端口用于 HTTP,443 端口用于 HTTPS)与服务器建立 TCP 连接。
    • 如果是 HTTPS,还需要进行 SSL/TLS 握手,建立加密通道。
  4. 发送 HTTP 请求

    • 浏览器构造并发送 HTTP 请求给服务器,包含请求头(如浏览器信息、接受的内容类型)和请求体(如表单数据)。
  5. 服务器处理请求

    • 服务器接收到请求,处理并生成响应。响应通常包括状态码(如 200、404)、响应头和响应体。
  6. 接收 HTTP 响应

    • 浏览器接收到服务器的 HTTP 响应,解析响应头和响应体。
    • 如果响应状态码是 200,浏览器继续处理响应体;如果是 4xx 或 5xx,浏览器会显示相应的错误信息。
  7. 解析 HTML

    • 浏览器开始解析 HTML 文档,构建 DOM(文档对象模型)树。
    • 在解析过程中,如果遇到 CSS 链接、JavaScript 脚本、图片等资源,浏览器会发起额外的网络请求。
  8. 加载 CSS

    • 浏览器请求并加载 CSS 文件,解析 CSS 规则,并应用于 DOM 元素,构建 CSSOM(CSS 对象模型)树。
  9. 构建渲染树

    • 将 DOM 和 CSSOM 结合起来,生成渲染树。渲染树只包含需要显示的内容和样式。
  10. 布局(回流)

    • 根据渲染树计算每个元素的大小和位置,确定元素的确切位置和尺寸。
  11. 绘制

    • 将渲染树中的内容绘制到屏幕上,包括背景颜色、文本、图片等。
  12. 执行 JavaScript

    • 浏览器执行 JavaScript 代码,可能会修改 DOM 和 CSSOM,引起重新布局或重绘。
  13. 完成渲染

    • 页面内容完全渲染到屏幕上,并且所有的资源(如图像、视频)都已加载完成。

这个过程中的每个步骤都是复杂且优化的,以确保网页能够快速和高效地加载和渲染

这篇关于浏览器输入url到渲染完成经历了那些内容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136196

相关文章

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如下: 1、问题及过程: (myenv) D:\Workspace\python\XXXXX>conda install python=3.6.13 Solving environment: done.....Proceed ([y]/n)? yDownloa

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

CRtmpServer转推流到Nginx Rtmp及SRS(SimpleRtmpServer)的经历

转自:http://blog.csdn.net/fengyily/article/details/42557841 本人一直用的是CRtmpServer服务,在CRtmpServer服务中根据自已的想法也加入了许多功能,如通过http接口来加载配置等,苦于不支持HLS,自已添加ts分片水平又有限,思来想去决定借助SimpleRtmpServer的HLS功能。说干就干,马上查找相关资源

解决Office Word不能切换中文输入

我们在使用WORD的时可能会经常碰到WORD中无法输入中文的情况。因为,虽然我们安装了搜狗输入法,但是到我们在WORD中使用搜狗的输入法的切换中英文的按键的时候会发现根本没有效果,无法将输入法切换成中文的。下面我就介绍一下如何在WORD中把搜狗输入法切换到中文。

微软正式推出 Spartan 斯巴达浏览器

作为用于替代 IE 浏览器的下一代继任者,微软的 Project Spartan 斯巴达浏览器可算是吊足了玩家们的胃口!如今,在最新的 Windows 10 Build 10049 版本起,它终于正式登场了。 斯巴达浏览器搭载了全新的渲染引擎、新的用户界面并集成了 Cortana 语音助手。功能上新增了稍后阅读列表、阅读视图、F12开发者工具、支持网页注释 (手写涂鸦),可以保存到 O

PC与android平板通过浏览器监控Verybot的视频

下面这个视频是PC与android平板通过浏览器监控Verybot的视频:           http://v.youku.com/v_show/id_XNjYzNzYyMTIw.html