万维网是一个全球信息系统,其中的资源由地址标识,通过超文本链接相互连接,并借助标准化的软件和通信协议进行访问。它主要运行于互联网之上,支持文档、多媒体、数据和交互式应用。万维网自1989年起在欧洲核子研究组织开始开发,将统一的寻址系统与信息交换和呈现技术结合起来。网页浏览器是人们最熟悉的万维网用户界面,但自动化程序也会与万维网资源交互。(home.cern)
万维网与互联网
万维网与互联网相互关联,但并不相同。互联网是相互连接的网络基础设施,负责在计算机之间传输数据。万维网则是建立在这一基础设施之上的信息系统。互联网技术还支持电子邮件、文件传输等无需网页或浏览器的服务。因此,电子邮件的网页界面只是访问电子邮件服务的一种方式,而不是其底层的电子邮件系统本身。(internetsociety.org)
两者在架构上也有区别:互联网协议负责联网系统之间的通信,而万维网技术负责标识资源、请求或修改资源,以及描述资源的表示形式。因此,万维网既不是单一程序,也不是由某个中心统一维护的文档集合。(rfc-editor.org)
起源与早期发展
1989年3月,当时在欧洲核子研究组织工作的蒂姆·伯纳斯-李提出了一种基于互联网的超文本系统,用于在不同计算机之间共享信息。这一提案旨在解决研究环境中的信息管理问题,因为其中的项目、人员和计算机系统都在不断变化。1990年11月,伯纳斯-李与罗伯特·卡约在另一份提案中正式确立了这个项目。(home.web.cern.ch)
1990年期间,伯纳斯-李开发了第一个万维网服务器,以及第一个兼具浏览和编辑功能的浏览器,名为 WorldWideWeb。他还创建了寻址、通信和文档格式技术的早期版本,这些技术后来成为万维网的基础。第一个网站运行在他的NeXT计算机上,内容是介绍万维网项目本身。(home.cern)
两项发展推动万维网走出了最初的科研社群:
- **开放使用:**1993年4月30日,欧洲核子研究组织将其万维网软件置于公有领域。后续版本采用了开放许可证,促进了更广泛的传播和实现。
- **图形化浏览:**NCSA Mosaic于1993年推出Unix版本,随后又推出Windows和Macintosh版本。它凭借易于使用的图形界面帮助万维网走向普及,但它并不是第一个网页浏览器。(home.cern)
1994年10月,伯纳斯-李与欧洲核子研究组织合作,在麻省理工学院创立了万维网联盟(W3C)。其宗旨之一是协调标准,使独立开发的浏览器、服务器和网站能够协同工作。(w3.org)
核心架构
万维网架构区分了三种密切相关的功能:标识、交互和表示。将这些功能分开,使各项技术能够不断演进,而不必重新设计整个系统。(w3.org)
标识与链接
统一资源标识符(URI)用于标识资源。统一资源定位符(URL)通常称为网址,它还提供了定位或访问资源的方法。资源不一定是已存储的文档,也可以是一项服务、不断变化的信息集合,或其他可标识的实体。资源的标识符与访问时返回的具体表示形式并不相同。(w3.org)
超链接通过引用资源的标识符来连接资源。链接可以跨越组织和地理边界,而无需将相互链接的文档存放在同一台服务器上。这种统一的寻址系统使独立发布的内容成为一个可供浏览的信息空间的一部分。(w3.org)
通过HTTP通信
超文本传输协议(HTTP)定义了客户端与服务器之间的请求—响应接口。浏览器可以请求资源的一种表示形式、提交信息,或执行其他受支持的操作。服务器则返回状态码、元数据,并在适当情况下返回内容。(rfc-editor.org)
HTTP是无状态的:其基本语义不要求服务器记住此前的一系列请求。不过,应用仍可借助Cookie等机制维持会话。这些机制允许浏览器存储服务器提供的信息,并在后续请求中将其返回给服务器,从而支持会话延续和用户偏好设置等功能。(rfc-editor.org)
HTTP/1.1、HTTP/2和HTTP/3具有共同的核心语义,但消息的传输和编码方式不同。HTTP/3使用QUIC而非TCP进行传输。HTTPS通过安全连接进行HTTP通信,保护交换的数据免遭网络窃听和篡改。(rfc-editor.org)
表示与呈现
响应提供的是资源的一种表示形式,而不一定暴露其内部实现。同一资源可以提供不同的表示形式,例如不同语言或媒体格式的版本。(w3.org)
用于交互式万维网文档的主要技术包括:
- **HTML——超文本标记语言:**描述文档的结构和含义,包括标题、段落、链接、表单和嵌入式媒体。
- **CSS——层叠样式表:**控制呈现方式,包括布局、字体排版和视觉样式。
- **JavaScript:**一种编程语言,用于实现交互行为,并通过浏览器接口操作文档。(w3.org)
HTML是一种标记语言,而不是通用编程语言。文档即使不使用脚本,也可以发挥作用;JavaScript能够增加交互行为,但并非每个网页都必须使用它。(html.spec.whatwg.org)
网页、网站与应用
网页是通过浏览器呈现的文档。网站将相关的网页和资源组织在一起,而Web应用则通过万维网技术提供交互功能。这些类别彼此重叠:一个网站可以同时包含参考文档、表单、多媒体和应用界面。(html.spec.whatwg.org)
万维网内容可以是静态的,也可以动态生成。服务器可以在收到请求时生成响应;浏览器端的脚本随后可以更改显示的文档或获取更多信息。因此,万维网既是一种出版媒介,也是一个软件平台。(html.spec.whatwg.org)
浏览器的作用不只是显示文本。它还会解释文档结构、应用样式、运行受支持的脚本、处理表单,并协调对相关资源的访问。无障碍访问也取决于浏览器如何向屏幕阅读器等辅助技术提供这些信息。(html.spec.whatwg.org)
发现与搜索
链接可以直接引导用户浏览内容,而搜索引擎则提供了另一条访问万维网内容的途径。Google等搜索系统使用自动爬虫发现网页,分析可访问的内容,将信息存入索引,并根据查询检索相关结果。因此,搜索通常是在查询已有索引,而不是在当时检查整个万维网上的实时内容。(developers.google.com)
搜索引擎的覆盖范围并不等同于万维网本身。网页可能因无法被发现、需要身份验证、阻止爬虫访问,或在索引过程中被排除而未被收录。即使网页可供公众访问,也不能保证它会出现在搜索引擎的结果中。搜索引擎是运行于万维网上的服务,而不是决定哪些资源属于万维网的权威机构。(developers.google.com)
标准与互操作性
万维网的互操作性依赖于公开发布、由不同组织独立实现的规范。W3C制定万维网平台各领域的标准;互联网工程任务组制定HTTP等协议的规范;网页超文本应用技术工作小组维护HTML现行标准。这些组织负责规定技术规范,而不是集中掌握万维网内容的所有权。(w3.org)
HTML的发展体现了延续性与变化之间的平衡。其规范既要兼容现有文档,也要支持不断发展的应用。现行标准模式持续维护规范,而不是将某个带有版本号的发布版本视为永久定稿。(html.spec.whatwg.org)
互操作性不会自动实现。实现方式的差异、不受支持的功能,以及针对特定设备作出的假设,都可能影响内容的运行表现。同样,无障碍访问也需要规范、内容作者、创作工具、浏览器和辅助技术之间相互协调。(w3.org)
安全、隐私与访问
安全与隐私
网络安全和数据隐私涉及的问题远不止连接加密。Cookie可以支持有用的应用状态管理,但也可能被用于跟踪用户。RFC 6265明确讨论了与Cookie有关的隐私问题,包括第三方对Cookie的使用。(datatracker.ietf.org)
通过安全连接获取的网页仍可能尝试通过不安全的连接加载资源,由此产生混合内容。此类资源可能损害保密性或完整性。因此,万维网安全规范定义了相应机制,用于阻止安全文档中的不安全资源请求,或将这些请求升级为安全请求。(w3.org)
W3C的伦理原则将隐私、安全、个人自主权和减少中心化列为平台目标。这些是设计上的承诺,并不保证每个网站或服务都能满足这些目标。该文件也承认,不同目标之间可能需要权衡。(w3.org)
无障碍与参与不平等
网页无障碍关注残障人士能否感知、理解、浏览内容并与之交互。它依赖整个系统:仅有适当的文档结构,并不能弥补浏览器、工具或辅助技术中的所有局限。W3C的无障碍工作包括针对内容、创作工具和用户代理的指南。(w3.org)
参与还取决于设备和网络条件。W3C的伦理原则明确关注使用低带宽连接和低配置设备的用户。因此,一个在全球范围内都能通过地址访问的平台,并不一定对所有人都同样易用。(w3.org)
持久性与可靠性
网址并不能保证其对应的资源会一直可用。内容可能迁移、改变或消失,导致引用失效。因此,W3C的架构将持久标识符和稳定的资源标识视为万维网能够长久存续的重要属性。发布内容和建立链接可以让人们获取信息,但这两者本身并不能确保信息的准确性或永久存在。(w3.org)
参考来源
- The birth of the Webhome.cern
- World Wide Web at 35home.web.cern.ch
- Historyw3.org
- Architecture of the World Wide Web, Volume Onew3.org
- RFC 9110: HTTP Semanticsrfc-editor.org
- About the Internet and How it Worksinternetsociety.org
- A Brief History of the Internetinternetsociety.org
- NCSA Web browser ‘Mosaic’ was catalyst for Internet growthnews.illinois.edu
- HTML Standard, Edition for Web Developershtml.spec.whatwg.org
- Web Hypertext Application Technology Working Group (WHATWG)whatwg.org
- RFC 6265 — HTTP State Management Mechanismdatatracker.ietf.org
- In-depth guide to how Google Search worksdevelopers.google.com