WebKit01-浏览器、浏览器功能及用户代理

183 阅读4分钟

「这是我参与2022首次更文挑战的第11天,活动详情查看:2022首次更文挑战」。

浏览器

浏览器在现代网络环境中我们经常接触,在前端页面开发中,我们经常有大把的资源来提供我们学习HTML、CSS、JavaScript以及相关语言的学习机会,但是浏览器的相关知识总是那么的神奇,它无处不在,我们却对它知之甚少。

浏览器是从计算机发展之后的现代环境中开始发展的,你知道么,事实上,浏览器的竞争市场也非常的严苛,分为“第一次浏览器大战”和“三组鼎力”的两大发展过程。

下面这张图,是现代浏览器发展的一个历史进程图,从图中我们想必是可以Get到现代浏览器发展的一个竞争激励以及蒸蒸日上。

image.png

浏览器的功能模块

对于我们经常使用浏览器,你知道如果实现它,需要实现多少个功能拆分么?

我们在这个部分队员浏览器的常见功能模块进行一下拆分。大概分为十五个部分。

  • 网络

    它是第一步,浏览器通过网络模块来下载各种各样的资源,例如HTML文本、Javascript代码、样式表、图片、音视频文件等。这部分非常重要,因为它耗时较长且需要安全访问互联网上的资源。

  • 资源管理

    从网络下载或者本地获取资源,并将它们管理起来,这需要高效的管理机制。例如如何避免重复下载、缓存资源,都是它们需要解决的问题

  • 网页浏览

    这是浏览器最核心也是最基本、最重要的功能。它通过网络下载资源并从资源管理器获取资源,将它们转为可视化结果,这也是浏览器内核最重要的功能。

  • 多页面管理

    支持多个网页同时加载,这也让浏览器变得更为复杂。同时,如何解决多页面的相互影响和安全等问题也非常重要。

    为此,一些浏览器做了大量的工作,例如可能使用线程或者是进程来绘制页面。

  • 插件和扩展

    这是现代浏览器的一个重要特征,它们不仅能显示网页,而且能支持各种形式的插件和扩展。

    插件也是用来显示网页特定内容的,而扩展则是增加浏览器新功能的软件或者压缩包。

    目前常见的插件有NPAPI、PPAPI、ActiveX等,扩展则跟浏览器密切相关,常见的有FireFox和Chrome扩展。

  • 书签管理

  • 历史记录管理器

  • 设置管理

  • 下载管理

  • 账号和同步

    将浏览的相关信息,例如历史记录、书签等信息同步到服务器,给用户一个多系统下的统一体验,这对用户非常友好,是浏览器易用性的一个显著标识

  • 安全机制

    本质是提供一个安全的浏览器环境,避免用户信息被各种非法工具窃取和破坏。

    这可能包括显示用户访问网站是否安全、为网站设置安全级别、防止浏览器被恶意代码攻破等。

  • 隐私管理

  • 外观主题

  • 开发者工具 这对普通用户来说用处不大,但是对开发者却意义非凡。

    一个优秀的开发者工具可以帮助审查HTML元素、调试Javascript代码、改善网页性能等。

  • 多操作系统支持

用户代理

用户代理(UserAgent)是个很奇怪的东西,作用是表明浏览器的身份,因而互联网的内容供应商能够知道发送请求的浏览器身份,浏览器能够支持什么样的功能。例如桌面版本和Android版本。

随着现代浏览器的不断发展,用户代理字段变的越来越长,我们可以通过chrome的控制台来去查看我们当前用户代理的字段描述。

也可以通过下面的设置进行设备的模拟。

image.png