HTTP 是什么

HTTP 是什么

HTTP 名字 “超文本传输协议”可以拆成三个部分:

  1. 超文本
  2. 传输
  3. 协议

图http

"协议"有什么特点呢?

  1. 协议必须要有两个或多个参与者,也就是“协”。

如果只有你一个人,那么就可以想怎么干就怎么干,不会干涉其他人,其他人也不会干涉你,也就不需要所谓的“协议”。

一旦有了两个以上的参与者出现,为了保证最基本的顺畅交流,协议就自然而然地出现了。

例如:

  • 为了保证你顺利就业,“三方协议”里的参与者有三个:你、公司和学校。
  • 为了保证你顺利入住,“租房协议”里的参与者有两个:你和房东。
  1. 协议是对参与者的一种行为约定和规范,也就是“议”。

协议意味着有多个参与者为了达成某个共同的目的而站在了一起,除了要正常沟通交流,还必须明确地规定各方的“责、权、利”,约定该做什么不该做什么,先做什么,后做什么,做错了怎么办,有没有补救措施。

例如:“租房协议”里就约定了:

  • 租期多少个月
  • 每月租金多少
  • 押金是多少
  • 水电费谁来付
  • 违约应如何处理

到这里,你应该能够明白HTTP的第一层含义了。

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

第二部分:“传输”。

计算机和网络世界里有数不清的各种角色:CPU、内存、总线、磁盘、操作系统、浏览器、网关、服务器…这些角色之间相互通信也必然会有各式各样、五花八门的协议,用处也各不相同,例如广播协议、寻址协议、路由协议、隧道协议、选举协议等等。

HTTP 是一个“传输协议”,所谓的“传输”(Transfer)其实很好理解,就是把一堆东西从A点搬到B点,或者从B点搬到A点。

扫描二维码关注公众号,回复: 10763186 查看本文章

这个简单的动作,包含了两个重要的信息。

  1. HTTP协议是一个“双向协议”。

A到B,B到A。

  1. 数据虽然是在A和B之间传输,但并没有限制只有A和B这两个角色,允许中间有“中转”或者“接力”。

A到B的传输过程中可以存在任意多个“中间人”,而这些中间人也都遵从HTTP协议,只要不打扰基本的数据传输,就可以添加任意的额外功能,例如安全认证、数据压缩、编码转换等等,优化整个传输过程。

HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。

第三部分:“超文本”

“文本”(Text),就表示HTTP传输的不是TCP/UDP这些底层协议里被切分的杂乱无章的二进制包(datagram),而是完整的、有意义的数据,可以被浏览器、服务器这样的上层应用程序处理。

在互联网早期,“文本”只是简单的字符文字,但发展到现在,“文本”的涵义已经被大大地扩展了,图片、音频、视频、甚至是压缩包,在HTTP眼里都可以算做是“文本”。

所谓“超文本”,就是“超越了普通文本的文本”,它是文字、图片、音频和视频等的混合体,最关键的是含有“超链接”,能够从一个“超文本”跳跃到另一个“超文本”,形成复杂的非线性、网状的结构关系。

对于“超文本”,我们最熟悉的就应该是HTML了,它本身只是纯文字文件,但内部用很多标签定义了对图片、音频、视频等的链接,再经过浏览器的解释,呈现在我们面前的就是一个含有多种视听信息的页面。

“超文本传输协议”:“HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范”。

小结

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

猜你喜欢

转载自blog.csdn.net/jeikerxiao/article/details/93617661