惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
博客园 - 聂微东
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
D
Docker
B
Blog
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
D
DataBreaches.Net
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Y
Y Combinator Blog
N
Netflix TechBlog - Medium
月光博客
月光博客
F
Fortinet All Blogs
爱范儿
爱范儿
H
Help Net Security
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
The Cloudflare Blog
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
U
Unit 42

博客园 - JavAndroidJSql

ai编程----Ai codex编程 龙虾---openClaw 配置企业微信 龙虾---openClaw龙虾安装和理解(类似Hermes 编程开源智能体) 前端---自定义hook函数 前端--react使用 Reducer 和 Context 拓展应用和组件 前端----服务端渲染组件SSR 前端---ts语法 前端--uniapp ai---sd 模型头像生成 前端 ----form表单对齐处理 ai------代码辅助ai工具对比 ai ----语音克隆 数字人 项目相关方案 @前端----节流防抖 @前端--webpack实现原理及核心过程 @面试项目管理----总结整理 js开发过程遇到的基础问题 ai数字人相关研究 ios ---时间 格式 判断兼容问题 人工智能chatGPT----链接大全 ffmpeg----用法及命令使用总结
前端 -----浏览器等前端运行容器的工作原理
JavAndroidJSql · 2025-01-09 · via 博客园 - JavAndroidJSql

浏览器的工作原理‌主要包括从用户输入URL到页面渲染的整个过程,涉及多个进程和线程的协作。浏览器的主要组件包括用户界面、浏览器引擎、渲染引擎、网络组件等,每个组件都有其特定的功能。

浏览器的主要组件及其功能

  1. ‌用户界面‌:包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的请求页面外,其他部分都属于用户界面。
  2. ‌浏览器引擎‌:在用户界面和渲染引擎之间传送指令。
  3. ‌渲染引擎‌:负责显示请求的内容。如果请求的内容是HTML,它就负责解析HTML和CSS内容,并将解析后的内容显示在屏幕上。
  4. ‌网络组件‌:用于网络调用,如HTTP请求,其接口与平台无关,为所有平台提供底层实现。
  5. ‌用户界面后端‌:用于绘制基本的窗口小部件,如组合框和窗口。
  6. ‌JavaScript解释器‌:用于解析和执行JavaScript代码。
  7. ‌数据存储‌:浏览器需要在硬盘上保存各种数据,例如Cookie。

浏览器的工作流程

  1. ‌输入URL‌:用户在地址栏输入URL后,UI线程处理地址栏用户输入。
  2. ‌发起网络请求‌:用户回车后,UI线程通知Network线程发起网络请求,获取网页文件。
  3. ‌读取响应‌:Network线程根据返回的HTTP报文头Content-Type判断响应内容的格式。如果是HTML格式,会将HTML数据传给Renderer Process;如果是文件,会将数据传给下载管理器。
  4. ‌查找渲染进程‌:Network线程确认可导航到请求网页后,通知UI线程数据已准备好。UI线程会查找一个Renderer Process进行网页渲染。
  5. ‌确认导航‌:Renderer Process准备就绪后,Browser Process向Renderer Process发送IPC消息确认导航,Renderer Process渲染后会给Browser Process回复渲染确认消息,导航结束,页面开始加载。
  6. ‌页面渲染‌:Renderer Process完成渲染后,通过IPC消息通知Browser Process,UI线程停止展示Tab中的spinner。

容器技术的基本原理及其在浏览器中的应用

容器技术如Docker等提供了一种轻量级、一致性的运行环境,使得应用程序在开发、测试和部署时更加可移植和可靠。容器封装了应用程序及其所有依赖项和配置,确保了开发、测试和生产环境的一致性,避免了由于环境差异引起的问题。此外,容器具有跨平台性、一致性和可重复性、资源隔离、快速部署和启动、高可伸缩性等特点,这些特性使得容器在浏览器和其他应用程序中得到了广泛应用。

产品思维的PM程序员~
工作1-3年,基础知识,多看书。多跟着别人做项目,学习经验。 工作3-5年,新知识,高级知识,自己独立做项目,总结经验。尝试不同的语言。 工作5-8年,工作职位,要从设计,管理方面要求自己,可以尝试走管理路线(项目经理或cto)。 工作10年及以上, 自己做些项目,产品,尝试为创业做准备。 上大学和不上大学区别很大,上品牌大学和普通大学区别也很大,后天的努力最大。 ---无论它是在遥远的远方,还是在出发的地方、哪里有希望哪里就是我们的方向;终点、只不过是梦想起飞的地方。