🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
有这样几个问题,我们来思考下: 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应用