HTTP是什么,不是什么?

HTTP是什么? 不是什么?

HTTP: 超文本传输协议,也就是HyperText Transfer Protocol.这是从字面上的理解,如果深一步的理解呢? HTTP又是什么呢?

HTTP是什么

HTTP是超文本传输协议,分解为三个部分,就是: "超文本" "传输" "协议". 从后向前解析.

协议

协议都知道,不是一个人的事,简单的来说,协议是需要两个或多个参与者.并且会对参与者进行一种行为约定和规范.

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

传输

传输其实很好理解,就是从A到B(A <===> B). 注意了,下面是重点.

  1. HTTP协议是一个双向协议, 也就是说在A和B之间双向流动.通常发起传输动作的A叫做请求方,接到传输的B叫做应答方或响应方.
  2. 数据输在A和B之间传输,但是没有限制只有A和B两个角色,也就是允许"中转"或"接力". 什么意思呢? 也就是说"A <=> X <=> Y <===> B",可以存在任意多个中间人.

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

超文本

所谓的超文本,其实就是"超越了普通文本的文本",早起的互联网,"文本"就是简单的字符文字,现在,它是文字、图片、音频和视频等的混合体,最关键的是含有"超链接",可以实现跳跃功能,形成复杂的网状等结构. 最熟悉的就是HTML,本身是纯文本文件,但是内部的标签定义图片、视频等链接,结果浏览器的解析,呈现的就是一个含有多种试听信息的页面.

分开理解了,那结合起来呢?

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

HTTP不是什么

首先HTTP是一种计算机通信的规范,那么也就是说它不存在单独的实体,但是它有真实存在,而且是动态的,是发生在网络连接、传输超文本数据时的一个"动态过程".

HTTP不是互联网,互联网是遍布全球的许多网络相互连接而形成的一个巨大的国际网络,上面有各种资源,对应各种协议,例如超文本资源使用HTTP,普通文件使用FTP,电子邮件使用SMTP和POP3等. 虽然不是互联网,但是却是构建互联网的一块重要拼图.

HTTP不是编程语言.编程语言是人与计算机交互的语言,但是HTTP却是计算机与计算机沟通交流的语言.这点很重要.HTTP是无法用来编程的,但是可以使用编程语言去实现HTTP,告诉极端及如何用HTTP于外界通信.

HTTP不是HTML,HTML是超文本的载体, HTTP传输最多的就是HTML了.但是论到数据量,HTML就不算多了,因为HTML相对于视频音频来说太小了.

HTTP不是孤立的协议.在互联网的世界里,HTTP通常是跑在TCP/IP协议栈上的(为什么加个通常呢,就是因为HTTP/3是跑在UDP上的),依靠IP协议实现寻址和路由、TCP协议实现可靠数据传输、DNS协议实现域名查找、SSL/TLS协议实现安全通信.此外还有一些协议依赖于HTTP,例如WebSocket、HTTPDNS等.这些协议相互交织,构成一个协议网,而HTTP则处于中心地位.

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

综合起来,可以HTTP定义为"与HTTP协议相关的所有应用层技术的综合".

极客时间学习笔记........

posted @ 2019-06-13 16:08  庄子游世  阅读(545)  评论(0编辑  收藏  举报