跳转到内容

浏览器:修订间差异

轻之舟百科,让知识轻装启航
TeodoroSeccombe​(留言 | 贡献)
小 创建页面,内容为“。”
IdleTap-bot​(留言 | 贡献)
由旧格式Infobox转换为新参数格式(label/data),修复空信息框(由IdleTap-bot执行)
 
第1行: 第1行:
{| class="infobox" style="border:1px solid #ccc; background:#f8f9fa; width:24em; float:right; margin:0 0 1em 1em; border-spacing:5px;"
 
! colspan="2" style="text-align:center;" |'''编程'''
{{Infobox
|-
| title = 网页浏览器
|中文名
 
|'''编程'''
| label1 = 中文名
|-
| data1 = 网页浏览器
|英文名
 
|'''Programming'''
| label2 = 外文名
|}
| data2 = Web Browser
'''编程'''(Programming),亦称'''程序设计''',是指设计、构建可执行计算机程序以完成特定计算任务的过程<ref name=":0">[https://webarchiveweb.wayback.bac-lac.canada.ca/web/20220309044641/https://en.wikipedia.org/wiki/Computer_programming Computer programming]</ref>。该过程通常包括算法分析、正确性与资源消耗评估以及具体实现(即编码)等环节<ref name=":0" />。编程的核心目标是寻找一条能够自动执行特定任务的指令序列,从简单的数值计算到复杂的操作系统均可通过编程实现<ref name=":0" />。
 
| label3 = 别称
| data3 = 浏览器
 
| label4 = 创始人
| data4 = 蒂姆·伯纳斯-李(Tim Berners-Lee)
 
| label5 = 首个浏览器
| data5 = WorldWideWeb(1990年)
 
| label6 = 主要代表
| data6 = Google Chrome、Mozilla Firefox、Microsoft Edge、Safari、Opera
}}
 
'''网页浏览器'''([[英语]]:'''Web Browser''',常简称为'''浏览器''')是一种用于检索、展示以及传递[[万维网]]信息资源的应用程序。这些信息资源包括网页、图片、影音或其他内容,它们由[[URI|统一资源标志符(URI)]]标识,而其中的超链接可使用户方便地浏览相关信息<ref name="[[W3C|w3c]]">[https://www.w3.org/People/Berners-Lee/FAQ.html Tim Berners-Lee FAQ - W3C]</ref>。浏览器的主要功能是向网络服务器发出请求,获取资源,并在用户设备上将其呈现为可视化的网页<ref name="mozilla">[https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work How browsers work - MDN Web Docs]</ref>。其核心技术包括负责视觉呈现的浏览器引擎(或称排版引擎、渲染引擎)和执行动态脚本的[[JavaScript]]引擎。浏览器的发展始于1990年[[蒂姆·伯纳斯-李]]发明的首个图形化浏览器WorldW[[IDE|ide]]Web<ref name="cern">[https://worldwideweb.cern.ch/browser/ The WorldWideWeb browser - CERN]</ref>,此后经历了Mosaic、Netscape Navigator、[[Internet Explorer]]等关键阶段。当前市场长期由[[Google Chrome]]主导,[[Microsoft Edge]]、[[Apple Safari]]、[[Mozilla Firefox]]等浏览器也占有重要份额。


== 历史 ==
== 历史 ==


=== 早期起源 ===
=== 早期起源 ===
编程的历史可追溯至计算机诞生之前。19世纪,英国数学家查尔斯·巴贝奇设计了分析机的概念,这是一种可编程计算机的早期原型,采用打孔卡片控制运算流程<ref name=":1">[https://baike.baidu.com/item/%E5%88%86%E6%9E%90%E6%9C%BA 分析机]</ref>。1843年,埃达·洛夫莱斯在翻译意大利数学家路易吉·梅纳布雷亚关于分析机的论文时,添加了大量注释,其中包含一个计算伯努利数的详细算法。计算机历史学家普遍认为,这是人类历史上第一套真正意义上的计算机程序<ref name=":2">[https://www.britannica.com/story/ada-lovelace-the-first-computer-programmer Ada Lovelace: The First Computer Programmer]</ref><ref name=":3">[https://www.nationalgeographic.com/history/history-magazine/article/this-countess-of-computing-wrote-the-first-computer-program This 'Countess of Computing' wrote the first computer program]</ref>。洛夫莱斯因此被公认为世界第一位计算机程序员<ref name=":2" /><ref name=":3" />。她甚至预见到,分析机不仅能够处理数字,还可以操控音符等符号,这一远见超越了同时代仅关注数值计算的主流观点<ref name=":2" />。
网页浏览器的历史始于万维网的诞生。1990年,英国[[计算机]]科学家蒂姆·伯纳斯-李在[[CERN]](欧洲核子研究组织)工作期间,发明了首个网页浏览器,命名为“WorldWideWeb”<ref name="cern" />。该浏览器运行于NeXTSTEP[[操作系统]],具备了基本的浏览、编辑功能。1991年,伯纳斯-李将其介绍给在[[CERN]]工作的同事。随后,为了在更广泛的终端设备上访问网络,尼古拉·佩洛编写了基于[[文本]]的Line Mode Browser<ref name="w3c" />。
 
=== 现代编程的出现 ===
1940年代,随着冯·诺依曼架构的提出以及ENIAC等早期电子计算机的问世,现代编程开始成形<ref name=":4">[http://www.cs.middlebury.edu/~schar/courses/cs313-s17/docs/HistoryProgLang.pdf History of Programming Languages]</ref>。最初,程序员使用机器语言(二进制代码)直接向计算机下达指令,这种方式效率极低且极易出错<ref name=":4" />。随后,汇编语言的诞生引入了助记符,显著提升了编程效率<ref name=":5">[https://www.britannica.com/science/computer-science/Programming-languages Computer science - Programming languages]</ref>。1950年代中期,第一种高级编程语言FORTRAN问世,允许程序员以接近代数表达式的形式编写科学计算程序,标志着编程语言发展的重大飞跃<ref name=":5" />。此后,LISP、COBOL、ALGOL等多种高级语言相继出现,分别服务于人工智能、商业数据处理和算法表达等不同领域<ref name=":4" /><ref name=":5" />。


== 核心概念 ==
1993年,美国国家超级计算应用中心(NCSA)发布了Mosaic浏览器<ref name="mosaic">[https://www.ncsa.illinois.edu/enabling/mosaic NCSA Mosaic - University of Illinois]</ref>。Mosaic是首个将文本与图片同时显示在同一页面中的图形化浏览器,极大地降低了普通用户使用网络的门槛,被视为推动[[互联网]]大众化的关键产品。
编程涉及多个基本概念和方法论的交叉融合。


=== 算法 ===
=== 第一次浏览器大战 ===
算法是编程的核心要素之一,指为解决特定问题而设计的有限、明确的指令序列。算法可独立于具体编程语言存在,是程序设计的基础逻辑框架<ref name=":0" />。
1994年,Mosaic团队的核心成员马克·安德森创办了[[网景通信公司]](Netscape Communications),并发布了Netscape Navigator浏览器<ref name="netscape">[https://web.archive.org/web/19981212031920/http://home.netscape.com/comprod/at_netscape/index.html Netscape Communications Corp. - Netscape (Archived)]</ref>。该浏览器迅速占领市场,成为1990年代中期的霸主。为应对网景的挑战,微软于1995年推出了Internet Explorer(IE)浏览器,并将其与Windows操作系统捆绑销售。这一策略使IE的市场份额迅速攀升,最终在1998年左右取代Netscape Navigator成为市场主导者<ref name="browserwars">[https://www.theguardian.com/technology/2015/may/04/first-browser-war-microsoft-netscape The first browser war - The Guardian]</ref>。这场竞争被称为“第一次浏览器大战”。


=== 数据结构 ===
=== 第二次浏览器大战与现代格局 ===
数据结构是在计算机中组织和存储数据的方式,以便高效地访问和修改。常见的数据结构包括数组、栈、队列、链表、树和图等。数据结构的选择直接影响算法的效率和程序的整体性能<ref name=":6">[http://info.gitlab-pages.imt-atlantique.fr/ Computer science - Data structures]</ref>。
进入21世纪,[[Internet Explorer]]的垄断地位逐渐受到挑战。2002年,Mozilla社群成立,并于2004年11月9日正式发布了Mozilla Firefox浏览器<ref name="firefox">[https://blog.mozilla.org/en/mozilla/firefox-1-0-anniversary/ Firefox 1.0 Anniversary - Mozilla Blog]</ref>。Firefox以其速度、安全性和可扩展性受到用户欢迎,打破了IE的垄断。2003年,苹果公司发布了Safari浏览器<ref name="safari">[https://www.apple.com/newsroom/2003/01/07Apple-Announces-Safari/ Apple Announces Safari - Apple Newsroom]</ref>。


=== 控制结构 ===
2008年,[[Google]]推出了Chrome浏览器<ref name="chrome">[https://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html A fresh take on the browser - Google Official Blog]</ref>,其设计目标是提升浏览器的稳定性、速度和安全性。凭借其简洁的界面和强大的性能,Chrome迅速崛起,并在随后几年成为[[全球]]市场份额最高的浏览器<ref name="statcounter">[https://gs.statcounter.com/browser-market-share Browser Market Share - StatCounter]</ref>。
控制结构决定了程序中语句的执行顺序。基本的控制结构包括顺序结构(按书写顺序依次执行)、选择结构(根据条件分支执行,如if-else语句)和循环结构(重复执行一段代码,如for和while循环)<ref name=":7">[https://elearning.reb.rw/ Control structures in algorithms]</ref>。


=== 编程范式 ===
2015年,[[微软]]发布[[Microsoft Edge]]浏览器,以取代[[Internet Explorer]]<ref name="edge">[https://blogs.windows.com/windowsexperience/2015/04/29/announcing-microsoft-edge/ Announcing Microsoft Edge - Windows Blog]</ref>。[[Edge]]最初使用微软自研的[[EdgeHTML]]引擎,后于2020年前后全面转向基于[[Chromium]]开源项目<ref name="edgechromium">[https://blogs.windows.com/windowsexperience/2020/01/15/new-year-new-browser-microsoft-edge-launches/ New year, new browser - Microsoft Edge launches - Windows Blog]</ref>。
编程范式是对编程风格和方法论的分类,体现了程序员构建程序时的典型思维模式<ref name=":8">[https://baike.baidu.com/item/%E7%BC%96%E7%A8%8B%E8%8C%83%E5%9E%8B 编程范型]</ref>。主要的编程范式包括:


* '''命令式编程''':通过一系列指令明确描述计算机的执行步骤,如何做(How)比做什么(What)更重要<ref name=":8" />。C、Java等语言主要支持命令式编程。
== 工作原理 ==
* '''声明式编程''':侧重描述目标结果而非具体的执行流程,即做什么(What)而非如何做(How)<ref name=":8" />。SQL、HTML是声明式编程的典型代表。
浏览器的工作原理核心是客户端-服务器模型。用户通过地址栏输入统一资源标志符([[URI]])或点击超链接,浏览器便向相应的网络服务器发送[[HTTP]]或[[HTTPS]]请求。[[服务器]]响应请求并返回资源(如[[HTML]]文档、[[CSS]]样式表、[[JavaScript]]代码、图片等)。浏览器随后对这些资源进行解析和渲染,最终将可视化的网页呈现给[[用户]]<ref name="mozilla" />。
* '''面向对象编程''':以对象(包含数据和方法的实体)为中心,通过对象之间的交互构建程序<ref name=":8" />。Python、Java、C++等语言广泛支持这一范式。
* '''函数式编程''':强调使用纯函数和不可变数据,避免状态变化和副作用<ref name=":8" />。Haskell、Scala、Erlang等语言体现了函数式编程的思想。


现代编程语言往往支持多种编程范式的混合使用,开发者可根据实际问题选择最适合的范式组合<ref name=":8" />。
这一过程主要依赖两大核心组件:
*  '''渲染引擎(排版引擎)''':负责解析[[HTML]]和[[CSS]]代码,计算布局,并将内容绘制到屏幕上。不同的浏览器使用不同的渲染引擎,例如Chrome和Edge(基于Chromium)使用Blink引擎,Firefox使用Gecko引擎,Safari使用WebKit引擎<ref name="mozilla" />。
*  '''[[JavaScript]]引擎''':负责解析和执行网页中的[[JavaScript]]代码,以实现动态交互功能。[[Chrome]]的V8引擎是其中的代表<ref name="v8">[https://v8.dev/ V8 JavaScript Engine]</ref>。


== 编程语言 ==
== 主要类型 ==
[[编程语言]]是用于与人、机通信的人工语言,是编程实现的具体工具。编程语言通常按代际分类:


* '''第一代(机器语言)''':1940年代末期出现,直接由二进制代码组成,由CPU直接执行,速度快但难以读写<ref name=":4" />。
=== 按平台分类 ===
* '''第二代(汇编语言)''':1950年代初期兴起,使用助记符代替二进制指令,通过汇编器转换为机器码<ref name=":4" />。
*   '''桌面浏览器''':安装在个人计算机(如[[Windows]]、[[macOS]]、[[Linux]])上的浏览器,如[[Google Chrome]]、[[Mozilla Firefox]]、[[Microsoft Edge]]等。
* '''第三代(高级语言)''':自1954年FORTRAN诞生开始,采用接近自然语言的语法,更具表达力和可移植性<ref name=":4" /><ref name=":5" />。包括C、C++、Java、Python等。
*   '''移动浏览器''':专为智能手机和平板电脑(如[[Android]]、[[iOS]])设计的浏览器,如Safari(iOS默认)、[[Android]]浏览器、以及[[Chrome]]、[[Firefox]]、[[Edge]]的移动版本等。
* '''第四代及以后''':包括查询语言、报表生成器和领域特定语言等,旨在进一步提高开发效率和抽象层次<ref name=":4" />。


据估计,历史上被记录的编程语言超过2500种<ref name=":9">[https://cs.usm.maine.edu/ Introduction to Programming Languages]</ref>,但只有少数语言在长期演化中得以广泛使用<ref name=":4" />。
=== 按内核分类 ===
浏览器可依据其使用的渲染引擎(内核)进行分类:
*  '''[[Blink]]''':由[[Google]]开发,用于[[Chrome]]及所有基于[[Chromium]]的浏览器(如新版[[Edge]]、[[Opera]]、Vivaldi等)。
*  '''Gecko''':由Mozilla开发,用于Firefox浏览器<ref name="mozilla" />。
*  '''[[WebKit]]''':由[[苹果公司]]开发,用于[[Safari]]浏览器<ref name="safari" />。
*  '''Trident''':微软为Internet Explorer开发的老旧内核,现已不再主流。


== 编程的文化维度 ==
== 安全与隐私 ==
编程不仅是工程实践,也体现出独特的文化和审美维度。计算机科学家高德纳在其《计算机程序设计艺术》等著作中提出,编程兼具科学与艺术双重属性。高德纳认为,编程之美体现在代码的正确性、可维护性、可读性和效率等多个层面,如同文学或音乐中的优美表达<ref name=":10">[https://cacm.acm.org/research/software-as-art/ Software as Art]</ref>。
随着浏览器功能的日益强大,其安全性与用户隐私保护也愈发重要<ref name="privacy">[https://www.eff.org/pages/browser-privacy Browser Privacy - Electronic Frontier Foundation]</ref>。现代浏览器普遍集成了多项安全功能,如:
*  '''沙盒机制''':将网页进程与操作系统隔离,防止恶意代码损害用户系统。
*  '''自动更新''':及时修补已知安全漏洞。
*  '''隐私模式''':提供“无痕浏览”或“隐私窗口”,不在本地记录浏览历史、[[Cookie]]等信息。
*  '''反追踪功能''':限制网站和第三方广告商对用户跨站浏览行为的追踪。
此外,浏览器通过警告用户访问的“不安全”[[HTTP]]页面,并推广更安全的[[HTTPS]]协议,来提升网络通信的安全性。


== 参考文献 ==
== 参考文献 ==
<references />
<references />

2026年8月11日 (二) 10:18的最新版本

网页浏览器
中文名网页浏览器
外文名Web Browser
别称浏览器
创始人蒂姆·伯纳斯-李(Tim Berners-Lee)
首个浏览器WorldWideWeb(1990年)
主要代表Google Chrome、Mozilla Firefox、Microsoft Edge、Safari、Opera

网页浏览器(英语:Web Browser,常简称为浏览器)是一种用于检索、展示以及传递万维网信息资源的应用程序。这些信息资源包括网页、图片、影音或其他内容,它们由统一资源标志符(URI)标识,而其中的超链接可使用户方便地浏览相关信息[1]。浏览器的主要功能是向网络服务器发出请求,获取资源,并在用户设备上将其呈现为可视化的网页[2]。其核心技术包括负责视觉呈现的浏览器引擎(或称排版引擎、渲染引擎)和执行动态脚本的JavaScript引擎。浏览器的发展始于1990年蒂姆·伯纳斯-李发明的首个图形化浏览器WorldWideWeb[3],此后经历了Mosaic、Netscape Navigator、Internet Explorer等关键阶段。当前市场长期由Google Chrome主导,Microsoft Edge、Apple Safari、Mozilla Firefox等浏览器也占有重要份额。

早期起源

[编辑 | 编辑源代码]

网页浏览器的历史始于万维网的诞生。1990年,英国计算机科学家蒂姆·伯纳斯-李在CERN(欧洲核子研究组织)工作期间,发明了首个网页浏览器,命名为“WorldWideWeb”[3]。该浏览器运行于NeXTSTEP操作系统,具备了基本的浏览、编辑功能。1991年,伯纳斯-李将其介绍给在CERN工作的同事。随后,为了在更广泛的终端设备上访问网络,尼古拉·佩洛编写了基于文本的Line Mode Browser[4]。

1993年,美国国家超级计算应用中心(NCSA)发布了Mosaic浏览器[5]。Mosaic是首个将文本与图片同时显示在同一页面中的图形化浏览器,极大地降低了普通用户使用网络的门槛,被视为推动互联网大众化的关键产品。

第一次浏览器大战

[编辑 | 编辑源代码]

1994年,Mosaic团队的核心成员马克·安德森创办了网景通信公司(Netscape Communications),并发布了Netscape Navigator浏览器[6]。该浏览器迅速占领市场,成为1990年代中期的霸主。为应对网景的挑战,微软于1995年推出了Internet Explorer(IE)浏览器,并将其与Windows操作系统捆绑销售。这一策略使IE的市场份额迅速攀升,最终在1998年左右取代Netscape Navigator成为市场主导者[7]。这场竞争被称为“第一次浏览器大战”。

第二次浏览器大战与现代格局

[编辑 | 编辑源代码]

进入21世纪,Internet Explorer的垄断地位逐渐受到挑战。2002年,Mozilla社群成立,并于2004年11月9日正式发布了Mozilla Firefox浏览器[8]。Firefox以其速度、安全性和可扩展性受到用户欢迎,打破了IE的垄断。2003年,苹果公司发布了Safari浏览器[9]。

2008年,Google推出了Chrome浏览器[10],其设计目标是提升浏览器的稳定性、速度和安全性。凭借其简洁的界面和强大的性能,Chrome迅速崛起,并在随后几年成为全球市场份额最高的浏览器[11]。

2015年,微软发布Microsoft Edge浏览器,以取代Internet Explorer[12]。Edge最初使用微软自研的EdgeHTML引擎,后于2020年前后全面转向基于Chromium开源项目[13]。

工作原理

[编辑 | 编辑源代码]

浏览器的工作原理核心是客户端-服务器模型。用户通过地址栏输入统一资源标志符(URI)或点击超链接,浏览器便向相应的网络服务器发送HTTP或HTTPS请求。服务器响应请求并返回资源(如HTML文档、CSS样式表、JavaScript代码、图片等)。浏览器随后对这些资源进行解析和渲染,最终将可视化的网页呈现给用户[2]。

这一过程主要依赖两大核心组件:

  • 渲染引擎(排版引擎):负责解析HTML和CSS代码,计算布局,并将内容绘制到屏幕上。不同的浏览器使用不同的渲染引擎,例如Chrome和Edge(基于Chromium)使用Blink引擎,Firefox使用Gecko引擎,Safari使用WebKit引擎[2]。
  • JavaScript引擎:负责解析和执行网页中的JavaScript代码,以实现动态交互功能。Chrome的V8引擎是其中的代表[14]。

主要类型

[编辑 | 编辑源代码]

按平台分类

[编辑 | 编辑源代码]

按内核分类

[编辑 | 编辑源代码]

浏览器可依据其使用的渲染引擎(内核)进行分类:

安全与隐私

[编辑 | 编辑源代码]

随着浏览器功能的日益强大,其安全性与用户隐私保护也愈发重要[15]。现代浏览器普遍集成了多项安全功能,如:

  • 沙盒机制:将网页进程与操作系统隔离,防止恶意代码损害用户系统。
  • 自动更新:及时修补已知安全漏洞。
  • 隐私模式:提供“无痕浏览”或“隐私窗口”,不在本地记录浏览历史、Cookie等信息。
  • 反追踪功能:限制网站和第三方广告商对用户跨站浏览行为的追踪。

此外,浏览器通过警告用户访问的“不安全”HTTP页面,并推广更安全的HTTPS协议,来提升网络通信的安全性。

参考文献

[编辑 | 编辑源代码]