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

地址栏输入URL浏览器会发生什么?

这个问题如果要展开讲的话,能讲个半小时,所以我们侧重于浏览器的渲染上。其他的点用一句话总结带过。

1.  输入URL =>

2. 浏览器分析域名结构 =>

3. 域名 转 IP (衍生问题  1 为什么要用IP,有多少位(网易)2 既然mac是唯一的,那为什么不用mac地址(字节)3  DNS递归详细讲讲, 使用到的网络协议(阿里)) =>

4. 三次握手   => ( 衍生问题  1 两次握手行吗,为什么  2.讲讲 HTTPS 在这之后多一次的 SSL握手 

5.  建立 HTTP连接  (衍生问题, 各大版本的http,1.0 , 1.1, 2.0  )

6. 服务器响应 

7. 四次挥手关闭 TCP 

8. 加载HTML,CSS,JS  

 渲染引擎把 html 字符串 转成 DOM树 与此同时 把 css 转为 CSSOM 树;

冷知识1: 当html 完全被解析 DOMContentLoaded事件调用

冷知识2: 解析 css 的时候 CSS选择器的读取顺序是从右向左

当解析html文件时候,遇到了js文件,会停止html文件的解析! (因为可能会改变dom结构)

如果script 标签有 async 和 defer 则不会停止。这两者的区别为,async 不会保持原脚本的顺序,适用于一些需要在首屏用到的script,则defer则会保持原脚本顺序。

解析完了html css js,也生成了dom树后,浏览器还干了什么呢??

下面几步:

样式计算

布局

绘制

光栅化

合成

各种事件 ...


http://www.kler.cn/a/447796.html

相关文章:

  • python面试篇-多并发详解(多线程,多进程,协成整理)---一篇搞定
  • OpenHarmony 3.2 网卡获取ip地址缓慢分析
  • linux-----常用指令
  • 【线性代数】理解矩阵乘法的意义(点乘)
  • 知网研学 | 知网文献(CAJ+PDF)批量下载
  • 【k8s集群应用】K8S二进制安装大致步骤(简略版)
  • 有关异步场景的 10 大 Spring Boot 面试问题
  • CentOS 7 安装、测试和部署FastDFS
  • 在 K8S 中创建 Pod 是如何使用到 GPU 的: nvidia device plugin 源码分析
  • 得物Java后端一面,扛住了!
  • 数据结构与算法学习笔记----Kruskal算法
  • Moretl非共享文件夹日志采集
  • 计算世界之安生:C++继承的文水和智慧(上)
  • 数据仓库工具箱—读书笔记02(Kimball维度建模技术概述03、维度表技术基础)
  • Cmd命令大全(万字详细版)
  • Python小游戏开发:从零实现贪吃蛇游戏
  • Django-路由
  • 计算机网络:应用层 —— 应用层概述
  • BERT模型入门(12)字节对编码(Byte Pair Encoding,BPE)
  • 【数据库系统概论】—— 关系数据库
  • stm32制作CAN适配器4--WinUsb的使用
  • 植物大战僵尸杂交版v3.0.2最新版本(附下载链接)
  • 云图库平台(二)前端项目初始化
  • 二进制分析的新兴趋势:塑造安全的移动应用
  • Kubernates
  • Ubuntu24版 最新安装CUDA驱动方式