浏览器 | 内核 |
---|---|
IE | trident内核 |
Firefox(火狐) | gecko内核 |
Safari | webkit内核 |
Opera | 以前是presto内核,现已改用Google Chrome的Blink内核 |
Chrome | Blink内核 (基于webkit, Google与Opera Software共同开发) |
在浏览器的发展过程中,制定并实现了很多标准;
一部分的标准没有得到广泛的应用如:
WebSQL
可以在页面中使用数据库SQL语言FileSystem
可以在页面中以文件的形式读写数据Application Cache
可以把页面内容缓存到本地,像APP一样PWA
的身份出现了被广泛应用的标准如:
WebSocket
一种在单个 TCP 连接上进行全双工通讯的协议CSS Animation
CSS3的动画属性WebGL
一种3D绘图协议WebRTC
一个支持网页浏览器进行实时语音对话或视频对话的APIWebAssembly
一种可以使用非 JavaScript 编程语言编写代码并且能在浏览器上运行的技术方案 图说 WebAssembly早期: 单进程浏览器
所有的页面和插件都是运行在一个进程里面的,其中的一个页面的卡顿和崩溃都会影响到其他页面
现在: 多进程架构
每个页面都是运行在单独的进程里面的
未来: 朝着面向服务架构(SOA)的方向演化
站在浏览器中JavaScript引擎的角度来分析其代码的执行流程;在该基础上,结合浏览器中的事件循环机制,来理解回调,微任务,宏任务,Promise等概念
页面中的事件循环系统
构建页面的核心流程
数据接收到页面显示的整个核心流程
不安全的地方:
安全策略: