关键词:
HTTP协议、 超文本、 传输协议、 协议
释义:
- 常规解释:
超文本传输协议
- 准确且有技术水准的解释:
HTTP 协议是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范
广义层
从广义层面上讲,我们可以把 HTTP 理解为:所有与 HTTP 协议相关的应用层技术的总和。在互联网世界里,HTTP 协议通常依赖于 TCP/IP 协议栈( TCP 协议实现可靠的数据传输、 IP 协议实现寻址和路由 )、依赖于 DNS 协议实现域名查找、依赖于 SSL/TLC 协议实现安全通信。此外,还有一些协议依赖于 HTTP 协议,比如:Websocket、HTTPDNS 等。
定义层
从定义层看 HTTP 协议,所有接触过网络协议的伙伴应该都知道所谓的 HTTP 协议即:超文本 传输 协议( HyperText Transfer Protocol )。文本 很好理解,那什么是 超文本 呢?传输 和 协议 听起来很简单,但是我们怎么清晰易懂的表述出来呢?
协议
首先, HTTP 是一个 协议,超文本 和 传输 都用来形容 协议。理解 协议,不能仅局限于计算机领域,生活处处都有协议,且协议一定诞生于两者或以上参与者之间。如果只有一个人,自己玩自己的,不会有人干扰你,也就不需要所谓的协议。所以,协议的概念就很清晰了:多个参与者站到一起为了达到某种目的而一起建立的规范。同时,协议存在的意义,还在于分清协议彼此的“责任,权利”,确定如何履行责任,怎么行使权利,失责如何处理等。总结一下:HTTP 是一个用在计算机领域的协议。它用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
传输协议
其次,HTTP 是一个 传输协议。传输 其实很好理解,就是把某种东西从A传到B,或者从B传到A。但HTTP的传输协议不仅局限于此。第一,它是一种双向的传输协议,我们把发起传输动作的一方称 请求方、把接受传输动作的一方称 响应方,数据不仅会从请求方传输到响应方,也会有数据从响应方传输到请求方。第二,数据虽然在 请求方 和 响应方 传输,但却允许存在任意多个第三方,但前提是他们也要遵循 HTTP 协议,只要不影响基础数据的传输,可以加入任何第三方(如:安全认证、数据压缩、编码转换 等)优化整个传输过程。总结一下:HTTP 是一种在计算机领域中用来在两点之间传输数据的约定和规范。
超文本
最后,所谓 超文本,在互联网早期,“文本”只是简单的字符文字。但发展到现在,“文本”的涵义已经被大大地扩展了,图片、音频、视频、甚至是压缩包,在 HTTP 眼里都可以算做是“文本”。所谓 超文本 ,就是“超越了普通文本的文本”,它是文字、图片、音频和视频等的混合体,最关键的是含有“超链接”,能够从一个 超文本(如:HTML) 跳跃到另一个“超文本”,形成复杂的非线性、网状的结构关系。