HTTP是什么?
HTTP 全程超文本传输协议(HyperText Transfer Protocol)。
包含三部分:超文本、传输、协议。
1. 协议
HTTP是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
2. 传输
HTTP是一个“传输协议”,把一堆东西从A点搬到B点,或从B点搬到A点(A<===>B)。
- 双向协议,请求方可以发送数据给响应方;响应方也可以把数据发送给请求方。
- 数据可以在多个角色间传输(A<=>X<=>Y<=>Z<=>B),这些角色也遵从HTTP协议。
只要保证基本数据传输,还能加上额外功能,比如安全认证,数据压缩,编码转换等等。
HTTP是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。
3. 超文本
超文本是文字、图片、音频、视频等的混合体,包含超链接,比如HTML。
HTML本身是纯文字文件,但是内部用很多标签定义了对图片、音频、视频等的链接,通过浏览器的解释,呈现在我们面前的就是一个含有多种视听信息的页面。
总结:HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
HTTP 不是什么?
1. HTTP不是互联网(Internet)
2. HTTP不是编程语言,但是编程语言可以实现HTTP
3. HTTP不是HTML
HTML是超文本的载体,是一种标记语言。
HTML可以被HTTP协议传输,同样图片、音频等资源也可以被HTTP协议传输。
4. HTTP不是一个孤立协议
HTTP通常跑在TCP/IP协议栈之上,依靠IP协议实现寻址和路由,依靠TCP协议实现可靠数据传输,依靠DNS协议实现域名查找,依靠SSL/TLS协议实现安全通信。此外,还有一些协议依赖于HTTP,例如 WebSocket、HTTPDNS等。这些网络交织形成协议网,而HTTP处于中心地位。
总结
- HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
- HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。
- HTTP 传输的是文字、图片、音频、视频等超文本数据。
- HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。