网站首页 > 文章精选 正文
当您在浏览器地址栏输入 URL 并按下回车键时,浏览器将启动一个过程。
网络版本
1.DNS 解析:浏览器会检查 URL 中的域名并将其发送到 DNS 服务器以获取与该域名相对应的 IP 地址。
2.建立 TCP 连接:一旦 DNS 解析完成,浏览器将与该 IP 地址建立 TCP 连接。
3.发送 HTTP 请求:一旦 TCP 连接建立,浏览器将向服务器发送 HTTP 请求。请求消息中包含请求方法 (如 GET 或 POST)、URL 和任何请求头。
4.接收响应并处理:一旦服务器收到请求,它将发送 HTTP 响应。响应消息包含状态码、响应头和响应体。浏览器将接收响应并处理它。
5.渲染页面:一旦浏览器收到响应并解析它,它将使用 HTML、CSS 和 JavaScript 等语言解析页面并渲染出来。浏览器将下载和执行页面上所有的资源,如图片、样式表和脚本,以呈现出完整的页面。
6.关闭连接:最后,一旦浏览器完成渲染页面,它将关闭与服务器的连接。
这些步骤的顺序和细节可能会因浏览器和服务器的具体情况而有所不同。
基础版本
1.浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求;
2.服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等);
3.浏览器对加载到的资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(如HTML的DOM);
4.载入解析到的资源文件,渲染页面,完成。
详细简版
1.从浏览器接收url到开启网络请求线程(这一部分可以展开浏览器的机制以及进程与线程之间的关系)
2.开启网络线程到发出一个完整的HTTP请求(这一部分涉及到dns查询,TCP/IP请求,五层因特网协议栈等知识)
3.l从服务器接收到请求到对应后台接收到请求(这一部分可能涉及到负载均衡,安全拦截以及后台内部的处理等等)
4.后台和前台的HTTP交互(这一部分包括HTTP头部、响应码、报文结构、cookie等知识,可以提下静态资源的cookie优化,以及编码解码,如gzip压缩等)
5.单独拎出来的缓存问题,HTTP的缓存(这部分包括http缓存头部,ETag,catch-control等)
6.浏览器接收到HTTP数据包后的解析流程(解析html-词法分析然后解析成dom树、解析css生成css规则树、合并成render树,然后layout、painting渲染、复合图层的合成、GPU绘制、外链资源的处理、loaded和DOMContentLoaded等)
7.CSS的可视化格式模型(元素的渲染规则,如包含块,控制框,BFC,IFC等概念)
8.JS引擎解析过程(JS的解释阶段,预处理阶段,执行阶段生成执行上下文,VO,作用域链、回收机制等等)
9.其它(可以拓展不同的知识模块,如跨域,web安全,hybrid模式等等内容)
- 上一篇: 苹果记录App隐私活动引热议,官方“读取”工具有待开发
- 下一篇: 全世界死亡率最高的极限运动是什么?
猜你喜欢
- 2025-06-08 个人开发者必备:快速开发框架 PocketBase 推荐
- 2025-06-08 吉利研究院base宁波,前端级别6岗,工资25k,13薪,是不是要低了
- 2025-06-08 伊拉克大型美军基地遭袭:5枚导弹从天而降,美军紧急封锁所有入口
- 2025-06-08 信创改造--人大金仓(Kingbase)数据库安装、备份恢复的问题纪要
- 2025-06-08 世界上最奇怪的地方,你知道几个?
- 2025-06-08 SpaceX为啥将星际基地设在得州?马斯克:怕爆炸
- 2025-06-08 如何查询宽带账户及密码(如何查询宽带账户及密码信息)
- 2025-06-08 netty系列之:java中的base64编码器
- 2025-06-08 我们弃用 Firebase 了(firebasestudio下载)
- 2025-06-08 IP地址划分及子网掩码计算(ip地址和子网掩码怎么算网络地址)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)