有这样几个问题,我们来思考下:
1. 我们平常浏览的网页是否是应用?
2. 在操作系统中应用是如何运行的?
3. 浏览器究竟是什么?
4. webkit和浏览器的关系
5. 流量拿起是如何呈现网页的
6. 经典问题:从浏览器的地址栏输入一个网址到网页内容呈现完毕,发生了哪些事情?
# 基本概念
## 浏览器
浏览器是用户访问互联网最重要的接口。
本质上,浏览器是方便一般互联网用户通过界面解析和发送HTTP协议的软件
### 浏览器发展史
1. 1991年,世界上第一款浏览器Nexus,功能简单,不支持图片
2. 1993年,Mosaic浏览器出现,可以显示图片,为了能区分浏览器是否能显示图片,出现了UserAgent
3. 1994年,Mozilla浏览器出现,也就是后来大名鼎鼎的Netscape,它的UserAgent为Mozilla/1.0
4. 1995年,IE浏览器出现,为了抢夺市场,UserAgent为Mozilla/1.22
5. 1998年,网景浏览器失利,成立了Mozilla组织
6. 2003年,网景公司解散,Mozilla基金会成立,这个组织推进了后来的Firefox
7. Mozilla开发了Geoko,就是后来的Firefox,它的UserAgent是Mozilla/5.0
8. 群雄并起,众多公司的浏览器的UserAgent都带有Mozilla
9. chrome和safari出现,现在占有了很大的份额
### :-: 查看用户代理
1. 打开控制台
2. 输入navigator.userAgent
### UserAgent的作用
1. 判断浏览器类型,采用兼容方案
2. 判断是否为移动端?(重点了解)
3. 标识H5容器,方便调用H5容器特定接口
4. 要注意userAgent伪装成本很低,不要过于依赖
### 内核
对于操作系统来说,**内核**是操作系统的核心,是第一层基于硬件的软件扩充,提供最核心最基础的服务。
应用程序通过内核进行**系统调用**来使用计算机的硬件,内核代码简洁高效,并且基本没有bug,由于是最底层的服务,一点微小的错误也会造成整个系统的崩溃,好处当然也显而易见,基于一个稳定的内核,开发者可以构建不同场景的操作系统和应用程序
对于浏览器来说,同样存在**浏览器内核**,与操作系统内核相似,浏览器内核需要提供API给浏览器开发者使用,同时提供最核心的功能,如加载和渲染页面,调用操作系统所提供的服务。
对于浏览器厂商来说,高效使用和开发浏览器内核是核心问题,对于web开发者来说,理解浏览器内核的基本机制,才能开发出高性能的web应用
- 初级前端题
- 必会
- http协议
- 跨域
- cookie与storage
- 移动端问题
- 性能优化
- Vue全家桶
- 有哪些常用的es6语法?
- 项目
- 闭包
- JSON
- 数据类型与运算
- 数组
- DOM
- 字符串
- 要会
- async与await
- 正则
- this
- 数据加密
- 实时获取数据
- 原生ajax
- 异步打印
- css相关
- 杂七杂八
- webpack
- 一般
- mvvm模式
- 异步请求
- XSS
- 其他dom问题
- 冷门
- 浏览器缓存机制
- 新
- 浏览器事件轮询
- Promise
- 树的深度优先与广度优先
- 拷贝
- 继承
- Vue
- 跨域
- 排序
- 浏览器
- 浏览器入门
- 浏览器内核知识
- 浏览器渲染原理
- 浏览器性能调优
- 自动化构建
- 字符编码
- git
- 一些题目
- 其他
- 逻辑思维题
- 互联网公司招聘信息如何阅读
- bat面试