如何通过浏览器导航器游览 Web 历史的深海
2023-12-08 00:47:27
一个 Front End 工程师,无时无刻不在与 W3C、ECMA、WHATWG 这些标准组织打交道,追根溯源也是这些组织的标准规范,塑造了今天蓬勃发展的 Front End 世界。本文将介绍 Web 发展中的几个重要组织,同时简述一下它们之间协同合作的关系。
溯源:HTML、浏览器和万维网的诞生
1989 年,WWW 还没有出现,Web 的雏形,是一个叫作 Enquire 的信息分享系统,它的提出者,就是后来被誉为“Web 之父”的蒂姆·伯纳斯·李。起初,Tim Berners-Lee 仅仅是出于分享科研成果的目的,将 Enquire 打造成了一个简单易用、分布式、跨平台的信息发布系统。直到 1991 年,Tim Berners-Lee 才为这个系统想好了一个名字:万维网(World Wide Web,简称 WWW)。
1993 年,浏览器大战开始了。浏览器软件在界面和功能上的差距很大,也进一步分化了 Web 开发者的群体,浏览器和 Web 应用的发展慢慢地背离了最初 Tim Berners-Lee 的设想。为了解决这样的难题,1994 年,万维网联盟(W3C)诞生了。
万维网联盟(World Wide Web Consortium,简称 W3C),成立于 1994 年 10 月,是由蒂姆·伯纳斯·李创立的。
成立之初,万维网联盟致力于为 Web 标准化而服务,目的是引领 Web 的未来发展,确定 Web 的长期发展方向。随着 Web 的高速发展,万维网联盟的任务也发生了变化,万维网联盟的任务是确定 Web 的长期发展方向,促进 Web 标准化,保证 Web 万无一失,让 Web 继续发挥潜力,实现 Web 的长期发展。
万维网联盟成员来自世界各地的大学、科研机构、大公司、供应商等。万维网联盟的最高决策机构是咨询委员会,负责制定万维网联盟的战略和政策。万维网联盟的技术委员会负责具体技术标准的制定和实施。万维网联盟的工作成果主要有 HTML、CSS、JavaScript、XML、SVG 等标准。
万维网联盟的努力,为 Web 的发展带来了许多积极的影响,为 Web 的蓬勃发展奠定了坚实的基础。
两大 HTML 标准委员会:WHATWG vs W3C
万维网联盟致力于定义 Web 标准,而 WHATWG 则负责开发和维护 HTML5 标准。它们之间最大的区别在于,W3C 是一个标准组织,而 WHATWG 则是一个社区。
W3C 的成员主要是来自政府、企业和学术机构的代表,而 WHATWG 的成员则主要是来自 Web 浏览器开发商和 Web 开发人员。
这种差异导致了两种组织在工作方式上的不同。W3C 的标准化过程通常比较缓慢,需要经过多轮讨论和投票才能达成一致。而 WHATWG 的工作方式则更加灵活,可以快速地做出决策。
在 HTML5 的发展过程中,W3C 和 WHATWG 曾经有过一段时间的竞争,但后来两家组织达成了一致,共同合作开发 HTML5 标准。
浏览器引擎主宰 Web 世界
现在,主流的浏览器有 Chrome、Safari、Firefox、Edge。它们分别由 Google、Apple、Mozilla 和 Microsoft 开发。
浏览器引擎,我们可以将其理解为浏览器软件的“心脏”。在不同的浏览器引擎的驱动下,浏览器才可以流畅地工作。
- Blink 引擎,是谷歌基于 WebKit 引擎打造的,目前应用在 Chrome 浏览器上。
- WebKit 引擎,源自 KHTML,最初是 KDE 项目的一部分,后来 WebKit 引擎被移植到了苹果的 Safari 浏览器上。
- Gecko 引擎,由 Mozilla 开发,应用在 Firefox 浏览器上。
- EdgeHTML 引擎,由微软开发,目前应用在 Edge 浏览器上。
目前,主流浏览器的核心引擎,只有三个:分别是 Blink、Gecko 和 WebKit。
展望未来,基于 Web 标准的构建与探索
2004 年前后,随着 Ajax 技术的兴起,网站的交互体验越来越丰富,浏览器在前端技术演进中发挥的作用越来越重要,浏览器内核厂商的重要性也日益凸显。当时,有两家厂商的浏览器内核脱颖而出,分别是微软的 Trident 和谷歌的 WebKit。
但是,随着 Web 技术的发展,网站的前端技术变得越来越复杂,原有的浏览器内核已经无法满足需求,这时就需要新的浏览器内核来提供支持。
于是,新的浏览器内核不断出现,如微软的 EdgeHTML 和谷歌的 Blink,这些浏览器内核都有一个共同的特点,那就是它们都是基于 Web 标准的。这意味着,这些浏览器内核可以更好地支持 Web 标准,并提供更好的用户体验。
Web 标准,让我们能够构建出更好的网站,提供更好的用户体验。如今,Web 标准已经成为 Web 开发的基础,也是前端工程师必须掌握的知识。
纵观前端发展史,HTML 一直扮演着举足轻重的角色,发展到今天,HTML 已经是一个十分庞杂的标准了。如果我们需要对 HTML 有深入的了解,那么,规范就是必须要读的。