说明
《透视HTTP协议》是
罗剑锋
(奇虎360技术专家)在极客时间开的一门专栏课,笔者记录一下学习笔记,仅供参考。
HTTP 是什么
HTTP 就是超文本传输协议,也就是
HyperText Transfer Protocol
。
协议
首先,HTTP 是一个协议。
HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
传输
HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。
HTTP 是一个传输协议,所谓的传输(Transfer)其实很好理解,就是把一堆东西从 A 点搬到 B 点,或者从 B 点搬到 A 点,即“A<===>B”。
第一点:HTTP 协议是一个双向协议。
也就是说,数据在A和B之间是双向流动,(一个叫请求方,另一个叫响应方)。
第二点:没有限制只有 A 和 B 这两个角色,允许中间有“中转”或者“接力”。
类似:A<=>X<=>Y<=>Z<=>B,例如:安全认证、数据压缩、编码转换等等功能。
超文本
HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范
超文本:文字、图片、音频和视频等的混合体,最关键的是含有“超链接”,能够从一个“超文本”跳跃到另一个“超文本”,形成复杂的非线性、网状的结构关系。
HTTP 不是什么
HTTP 是一个协议,是一种计算机间通信的规范,所以它不存在“单独的实体”。它不是浏览器、手机 APP 那样的应用程序,也不是 Windows、Linux 那样的操作系统,更不是 Apache、Nginx、Tomcat 那样的 Web 服务器。
HTTP 不是互联网。
HTTP 不是编程语言。
HTTP 不是 HTML。
HTTP 不是一个孤立的协议。
HTTP 通常跑在 TCP/IP 协议栈之上,依靠 IP 协议实现寻址和路由、TCP 协议实现可靠数据传输、DNS 协议实现域名查找、SSL/TLS 协议实现安全通信。
总结
1、HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
2、HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。
3、HTTP 传输的是文字、图片、音频、视频等超文本数据。
4、HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。
Chrono
画了一个思维导图: