HTTP 历史
HTTP 历史
与 HTTP 有关的专有名词
名称 | 全称 | 说明 |
---|---|---|
IETF | The Internet Engineering Task Force(国际互联网工程任务组) | 为了增强互联网之间的互操作性而创建的自由组织 |
ISOC | Internet Society(国际互联网协会) | 负责管理与互联网发展有关的活动的组织,是 IETF 的上级组织 |
RFC | Request For Comments(规范文档) | 由 IETF 编写的规范文档 |
IANA | Internet Assigned Numbers Authority(互联网号码分配局) | 管理端口号或文件类型(Content-Type)等与 Web 有关的数据库的组织 |
W3C | World Wide Web Consortium(万维网联盟) | 制定 Web 相关标准的非营利组织 |
WHATWG | Web Hypertext Application Technology Working Group(网页超文本应用技术工作小组) | 从 W3C 中独立出来的组织,负责讨论以 HTML 为中心的 Web 相关标准 |
RFC 中定义了各种协议。虽然大多数新的 Web 功能一开始是浏览器厂商或者服务器厂商开发的自有功能,但之后为了能够保持互操作性,这些功能使用了共同的协议。试想,如果只有 Microsoft Edge 可以访问 Microsoft 的服务器,该有多不方便。服务器和浏览器无论怎样组合都能运行,这是互联网世界的一种“美德”,因为不管是连接互联网,还是接收邮件,整个网络世界的体系都是遵循 RFC 中制定的规范构建而成的。
RFC 是以 IETF 为中心进行管理的、用于保持通信的互操作性的规范文档。RFC 的全称是“Request For Comments”(征求意见稿),虽然把它翻译成“规范文档”有点不太贴切,但这是有历史缘由的。由于作为互联网前身的网络是用美国的国防预算创建的,其规范不能对外公开,所以才以“为了提高品质,从全世界收集意见”之名把规范公开,而“Request For Comments”就是这段历史所留下的痕迹
在 RFC 确定之前,Web 浏览器和 Web 服务器的功能要通过多个软件来实现,之后在 RFC 中实现标准化,最初的体系就是这样的。欧洲核子研究组织(European Organization for Nuclear Research,CERN)的在籍人员蒂姆·伯纳斯·李(Tim Berners-Lee)在 1990 年的圣诞节假期开发了最早的 Web 服务器 CERN HTTPd。1993 年,伊利诺伊大学的美国国家超级计算应用中心(National Center for Supercomputer Applications,NCSA)的罗伯特·麦克库尔(Robert Mccool)开发了 Apache 的前身 NCSA HTTPd,马克·安德森(Marc Andreessen)开发了浏览器的始祖 NCSA Mosaic3。安德森等在 1994 年创立了 Netscape。Netscape 开发的 JavaScript 和 SSL(Secure Sockets Layer,安全套接层)等技术后来实现了标准化。
RFC 以及各 RFC 之间的关系
IANA 管理的不是通信协议(算法),而是文件类型(数据)等公共信息。IETF 将浏览器功能的规范制定工作移交给了 W3C。具体来说,就是将 HTML 规范的制定,以及 Server-Sent Events、WebSocket 等与 JavaScript API 相关的大部分通信协议交由 W3C 管理。最近,关于规范的制定的讨论也多在 WHATWG 这个组织中进行。W3C 主要发展以 XML 为中心的技术,而 WHATWG 在 W3C 的基础上聚集了一些旨在让网络活跃发展的成员,于 2004 年正式成立。HTML5 之后的许多规范就是由 WHATWG 主持制定的。2019 年 6 月,W3C 和 WHATWG 发表消息称 HTML 及 DOM 相关的规范制定主体不再是 W3C,而是 WHATWG。这些组织掌握着互联网规范的一手信息。如果大家需要了解规范详情,可以以这些组织为入手点。
WHATWG 公布的文档是“规格说明书”,而 MDN 网站上的内容才是面向应用程序开发者的。MDN 网站原本是浏览器厂商 Mozilla 提供的网站,如今成为浏览器厂商公共的文档集合,作为 Mozilla 竞争对手的浏览器厂商 Microsoft 和 Google 也在发布内容并进行管理。