02 什么是HTTP

Posted by CodingWithAlice on April 19, 2021

02 什么是HTTP

HTTP 学名:超文本传输协议,从这三个关键词拆解含义

image-20210419152648955

  • 总结

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

协议

协议的特点:

1、协议必须要有两个或多个参与者

2、协议是对参与者的一种行为约定和规范

  • 总结:

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

传输

1、HTTP 协议是一个“双向协议”,数据在请求方和响应方之间双向流动

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

  • 总结:

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

超文本

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

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

HTTP不是什么

HTTP 是构建互联网的重要基础技术,它 没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它

细分:

1、不存在“单独的实体”

(区别于浏览器、APP 等应用程序;也不是 windows 等操作系统;也不是 ngnixweb 服务器)

—> 是发生在网络连接、传输超文本数据时的一个“动态过程”

2、HTTP 不是互联网

互联网对应着很多协议,超文本资源使用 HTTP,普通文件使用 FTP,电子邮件使用 SMTPPOP3

3、HTTP 不是编程语言

编程语言是人与计算机沟通交流所使用的语言,而 HTTP计算机与计算机沟通交流的语言

—> 我们无法使用 HTTP 来编程,但可以反过来,用编程语言去实现 HTTP,告诉计算机如何用 HTTP 来与外界通信。

4、HTTP 不是 HTML HTML 是超文本的载体,是一种 标记语言,使用各种标签描述文字、图片、超链接等资源,并且可以嵌入 CSSJavaScript 等技术实现复杂的动态效果。

5、HTTP 不是一个孤立的协议 HTTP 通常跑在 TCP/IP 协议栈之上,依靠 IP 协议实现寻址和路由、TCP 协议实现可靠数据传输、DNS 协议实现域名查找、SSL/TLS 协议实现安全通信

—> HTTP不能用于广播、寻址或路由