以下是有关正确术语的问题。
如果没有 HTTP,万维网还能存在吗?
还有其他应用层协议可以为WWW页面提供服务吗?
从定义上来说,HTTP 是网络的重要组成部分吗?
PS:答案已被接受,但欢迎任何基于文献的更精确的意见。
barlop 补充的注释-我注意到有些人不理解他的问题,而且也有一些投票结果接近,所以我改进了问题的语言。我不认为询问正确的术语是空洞/主观的,正确的技术语言非常重要。
答案1
在网络早期,许多网站都是通过 FTP 提供服务的。
个人互联网连接非常罕见,因此如果您可以访问互联网,则可能是通过您的雇主或学校。您可能想要建立一个网站,但无法让系统管理员为您运行 HTTP 服务器。但可能有一个匿名 FTP 服务器,已设置为允许通过 FTP 匿名检索文件。您可以将 HTML 文件放在公共 FTP 区域,并公布文件的 URL(看起来是这样ftp://host/path/
),这样您就可以拥有一个网站,而无需向系统管理员询问任何新内容。以这种方式发布网站在 1992-1994 年左右非常普遍。
这是我为你找到的一个示例网站。这可以追溯到 1995 年秋季,当时和现在都由 FTP 提供服务。(它仍然存在,因为没有人费心去删除它。)当时宾夕法尼亚大学计算机科学系没有 HTTP 服务器,但该系有一个网站,其中包含课程页面链接、联系信息和负责建立这些页面的系成员的个人网站,所有这些都由匿名 FTP 目录中的 FTP 提供服务。
如果没有从 FTP 引导的能力,网络可能永远无法启动。
[后来添加:这是一个更好的例子]
答案2
实际上,没有 HTTP,网络也可以存在 - 这取决于您要做什么。如果您编写自己的客户端和服务器,您当然可以开发和实现自己的协议,而且它(希望)可以正常工作。
然而,谷歌尝试做出一个有价值的替代品:-)
答案3
立即回答您的问题:不,我们现在所知道的万维网并不依赖于 HTTP。它从未依赖于 HTTP。它所需要的只是一种可靠传输上的协议,客户端可以使用它来从服务器请求资源。任何具有这些最低要求的东西都可以。它现在使用 HTTP,因为当 Web 刚刚流行时,它是最好的协议。当出现比 HTTP 更好的协议时,就像快闪记忆体那么 HTTP 也将像之前的协议一样成为历史。
然而,它依赖于 HTML,以及在较小程度上围绕它发展起来的各种技术,如 CSS、JavaScript 等。即使是今天的 HTML 5,在 20 年前也可以被识别为 HTML,并且当时的浏览器大多可以解析,而今天精心制作的网站实际上将工作在最古老的已知浏览器中(20 年前精心设计的网站实际上工作在今天的浏览器中)。
这个答案的其余部分来自我的经验,可以跳过,但是......
到目前为止,现有的答案大多引用了今天的参考资料,这很不幸,因为今天的互联网包含的关于 20 世纪 90 年代末“互联网泡沫”之前的信息非常少。其中一些参考资料与我的经历不符:我在互联网向公众开放前几年就上网了,我亲眼目睹了网络的崛起。
HTTP 曾经设计成为一种能够高效地将网页和其他文件传输到服务器和从服务器传输的协议。它解决了 FTP 中的各种缺点,这些缺点使它成为提供网页的不太实用的选择。特别是,当时 FTP 主要用于“主动”模式,因为防火墙和 NAT 几乎不存在。FTP 从 1985 年开始就有“被动”模式,但直到互联网的大部分开始转向铁幕后,它才真正有必要。在这两种模式下,必须打开多个连接才能传输文件,这充其量是低效的;HTTP 可以大大优于 FTP(甚至 Gopher),这在几乎每个人的家庭连接都是拨号连接的情况下非常重要,并且非常慢拨号上网。
虽然有一些网页是通过 Gopher 提供的,但这主要是因为当时常见的 Web 客户端支持多种协议:HTTP、FTP 和 Gopher。为了获得关注,它们不得不这样做。当时,“搜索互联网”是通过一个名为 Archie 的程序完成的,它只会告诉你有关 FTP 站点上的文件的信息。然后你必须使用 Veronica 或 Jughead 来搜索 Gopherspace。还有 WAIS,也许是第一个重要的全文搜索引擎,但维基百科不会告诉你的是,它是过度设计的垃圾,除非你知道在哪个站点上查找,否则你什么也找不到。
我还记得,大约在 1995 年,我与一位艾滋病研究人员就网络进行了数周的交谈,并试图说服他尝试一下 Mosaic。最终说服他的是,约翰霍普金斯大学刚刚通过 HTTP 在网络上建立了他需要的医学数据库,而网络浏览器是访问该数据库的唯一方式。我与许多人进行了类似的交谈。
当时,为了站稳脚跟,Web 用户代理通常支持 FTP 和 Gopher,这样人们就可以使用单个程序通过任何这些协议查看或下载任何资源。它成功了,Web 也开始流行起来,但即使是下载纯文本网页,速度也非常慢,速度达到 2400 bps,当网络最终向公众开放时,许多人(包括我自己)仍然没有更好的选择。通过 telnet 进入 Unix shell 帐户并lynx
在那里运行或通过 telnet 进入堪萨斯大学运行的公共网络通常更快lynx
。这所大学有足够的带宽,这样你一次只需要看一个屏幕(以 2400 bps 的速度刷新 80x24 终端大约需要四秒钟)。
因此,从单个程序(无论是lynx
,mosaic
还是 CERN 编写但实际上从未有人使用过的参考客户端)中,您几乎可以访问当时互联网上的任何内容,因为这些程序通常会隐藏或淡化所使用的特定传输方式。(也就是说,即使在那时,也没有人会查看他们的地址栏。除非您明确要求,否则 Lynx 不会显示当前 URL。)
由于 HTTP 比其他协议更快、更灵活,而且 HTML 显然是一种比以前更强大的文档表示语言,因此它的流行几乎是不可避免的。Gopher 从来没有机会;它只以重要的形式存在了几年。而 FTP 仍然很有用,因为它在一次传输大文件或整个目录结构方面略胜一筹(假设您有tar
并gzip
知道秘密咒语),直到最近它才更适合上传数据。
我在这里要强调的一点是,Web 与传输无关。Web 必须与传输无关才能起步,而事实上,Web 几乎肯定会在未来几十年甚至几个世纪内继续被使用。
答案4
我认为,万维网的形成需要三个条件:
- 互联网
- URI
- 在文档 (HTML) 中链接 URI 的能力。
URI 可以指定任何类型的协议:ftp://、http:// 等。您可以在以下位置看到很多此类协议:维基百科. 将任何 URI 方案与可以链接到互联网上其他文档(其中 http/html 是最简单的)的文档结合起来,您就拥有了万维网。
正如其他人所指出的,ftp 可以提供网页。这为网络奠定了基础,但是,我认为 FTP 不支持 CGI,而 CGI 是迈向交互式网站的下一步。
如今,CGI 已被与 http 服务器集成的框架所取代,但核心交互仍以 CGI 为核心,使用各种 HTTP 动词来方便发送和接收表单。我们今天所知道的 WWW 如果没有 http 就无法运行,但早期的 WWW 是以 FTP 作为强大组件开始的。