关于HTTP的定义,大家都很了解:超文本传输协议(HyperText Transfer Protocol)
那什么是超文本传输协议?
“超文本传输协议”,它可以拆成三个部分,分别是:“超文本”“传输”和“协议”。
先理解最重要的概念,协议。
HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
接下来是传输。
传输可以理解为相互通信。
HTTP 是一个“传输协议”,所谓的“传输”(Transfer)其实很好理解,就是把一堆东西从 A 点搬到 B 点,或者从 B 点搬到 A 点,即“A<===>B”。
前面说了是相互通信,说明HTTP是个双向的协议。
也就是说,有两个最基本的参与者 A 和 B,从 A 开始到 B 结束,数据在 A 和 B 之间双向而不是单向流动。通常我们把先发起传输动作的 A 叫做请求方,把后接到传输的 B 叫做应答方或者响应方。
然后,数据虽然是在 A 和 B 之间传输,但并没有限制只有 A 和 B 这两个角色,允许中间有“中转”或者“接力”。
这样,传输方式就从“A<===>B”,变成了“A<=>X<=>Y<=>Z<=>B”,A 到 B 的传输过程中可以存在任意多个“中间人”,而这些中间人也都遵从 HTTP 协议,只要不打扰基本的数据传输,就可以添加任意的额外功能,例如安全认证、数据压缩、编码转换等等,优化整个传输过程。
这样就能够很好理解下面的概念:
HTTP 是一个在计算机世界里专门用来约定和规范两点之间传输数据的行为协议。
接下来是超文本。
所谓“超文本”,就是“超越了普通文本的文本”,它是文字、图片、音频和视频等的混合体,最关键的是含有“超链接”,能够从一个“超文本”跳跃到另一个“超文本”,形成复杂的非线性、网状的结构关系。
图片视频链接音频也属于超文本的范围。
这样,我们就有了一个对HTTP比较清晰的定义:HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
此文章为2月Day2学习笔记,内容来源于极客时间《透视HTTP协议》,强烈推荐该课程!