02 | HTTP是什么?HTTP又不是什么?

显然,这个答案有点过于简单了,不能让他满意,他肯定会再追问你一些问题: 你是怎么理解 HTTP 字面上的“超文本”和“传输协议”的? 能否谈一下你对 HTTP 的认识?越多越好。 HTTP 有什么特点?有什么优点和缺点? HTTP 下层都有哪些协议?是如何工作的? …… 几乎所有面试时问到的 HTTP 相关问题,都可以从这个最简单的“HTTP 是什么?”引出来。 所以,今天的话题就从这里开始,深度地解答一下“HTTP 是什么?”,以及延伸出来的第二个问题“HTTP 不是什么?”

首先,HTTP 是一个协议。不过,协议又是什么呢? HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。

接下来我们看 HTTP 字面里的第二部分:“传输”。 HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。

讲完了“协议”和“传输”,现在,我们终于到 HTTP 字面里的第三部分:“超文本”。 “HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范”。

HTTP 不是一个孤立的协议。 俗话说“一个好汉三个帮”,HTTP 也是如此。 在互联网世界里,HTTP 通常跑在 TCP/IP 协议栈之上,依靠 IP 协议实现寻址和路由、TCP 协议实现可靠数据传输、DNS 协议实现域名查找、SSL/TLS 协议实现安全通信。此外,还有一些协议依赖于 HTTP,例如 WebSocket、HTTPDNS 等。这些协议相互交织,构成了一个协议网,而 HTTP 则处于中心地位。

HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。 HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。 HTTP 传输的是文字、图片、音频、视频等超文本数据。 HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。