为什么使用 HTTP 来传输超文本以外的内容?

为什么使用 HTTP 来传输超文本以外的内容?

HTTP 代表超文本传输​​协议,那么为什么它用于传输非超文本的内容,例如图像、JSON、JavaScript 等?

或者超文本的定义包括这些?我以为超文本文档是包含指向其他超文本文档的链接的文档?

答案1

HTTP 是用于启动客户端和服务器之间的 TCP 连接的协议。

非常类似于为汽车和卡车(内容)提供通行媒介的隧道(http)。

答案2

我怀疑这对 SU 来说不是一个真正合适的问题,因为答案是主观的。

我建议以下答案 - 第一个规范是在 1996 年定义的 - 尽管 Mosaic - 第一个网络浏览器是在 1993 年发布的。超文本实际上是更简单的协议的替代品,这些协议不会同时显示图像和文本。为了能够同时显示文本和图像,它需要能够获取页面的所有元素,包括图像。

HTTP 协议也是一种非常好的协议(就其设计目的而言),因为它比 FTP 等协议更简单,而且标准化。由于网页浏览变得如此流行,几乎可以保证使用该协议可以检索内容,也就是说,它使信息很容易通过防火墙。

它还需要具有相当大的灵活性 - 您谈到下载图像,但请记住,jpeg 和 PNG 最初甚至不受支持,并且作者可能不需要花太多功夫就能设计出较新的图像格式 - 巨大的 TIFF 图像(从内存中可以看出是受支持的)并不适合大量共享的 9600 波特连接(或慷慨的 14.4k) - 这在协议发布时并不罕见。

为了克服静态网页的限制,JSON 和 Javascript 等技术被开发出来——但时间要晚得多。使用 HTTP 进行传输意味着防火墙不会突然造成问题,也不需要新的协议。此外,Javascript 实际上是静态网页的逻辑扩展——而 JSON 是静态网页的逻辑扩展,因此使用现有技术是合理的。

我确实注意到 HTTP 规范实际上非常简单,因为它定义了标头和正文。标头描述了文件的类型,可以是任意的(使用 MIME 类型),因此该协议适合于其他文本格式。

相关内容