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处于中心地位。


总结

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

随机推荐

  1. Flutter系列文章-Flutter 插件开发

    在本篇文章中,我们将学习如何开发 Flutter 插件,实现 Flutter 与原生平台的交互.我们将详细介绍插件的开发过程,包括如何创建插件项目.实现方法通信.处理异步任务等.最后,我们还将演示如何 ...

  2. 我愿称之为"温水煮青蛙"

    前言:作为开发在工作中如何将自己一点一点放弃. 事情是这样的,来新公司已经差不多三个多月了,公司的主要技术栈大部分还是jquer 这让我非常的头疼,不是说做不了这个技术,其实用过jquer 都知道这玩 ...

  3. 选择合适的方法进行API接口调试

    随着互联网的快速发展,API(Application Programming Interface)接口在软件开发中扮演着重要的角色.调试API接口是确保系统正常运行的关键步骤之一.本文将介绍如何选择适 ...

  4. 关于前后端交互,取header的尴尬

    背景: 最近在写一个接口的时候,需求是这样的,上传excel,匹配项目有多少个字段匹配上了,如果匹配上了在单元格上标注绿色背景,然后返回excel文件和匹配的详细. 首先这个excel文件,后端是不会 ...

  5. SQL select关联表查询 统计另一个表合计

    db_order 是记录订单的,  一个订单一条记录.(oid, 运费, 实收金额, 产品KEY.......) db_soid  是记录出售商品的 (id, 商品名称, 售价, 数量, 成本, 标识 ...

  6. Netty+WebSocket整合STOMP协议

    1.STOMP协议简介 常用的WebSocket协议定义了两种传输信息类型:文本信息和二进制信息.类型虽然被确定,但是他们的传输体是没有规定的,也就是说传输体可以自定义成什么样的数据格式都行,只要客户 ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (101)-- 算法导论9.3 7题

    七.用go语言,设计一个 O(n)时间的算法,对于一个给定的包含n个互异元素的集合 S 和一个正整数k≤n,该算法能够确定 S 中最接近中位数的k个元素. 文心一言: 要设计一个 O(n) 时间的算法 ...

  8. SQL函数升序Asc,降序Desc使用总结

    关键字-升序Asc及降序Desc的使用语法 对某一结果集按列进行升序或降序排列即:结果集 Order by 列名/数字 Asc/Desc. 一.Asc,Desc排序讲以下5点 1.不写关键字Asc/D ...

  9. C++中::和:, .和->的作用和区别

    符号::和:的作用和区别 ::是作用域运算符,A::B表示作用域A中的-名称B,A可以是名字空间.类.结构: 类作用域操作符 "::"指明了成员函数所属的类.如:M::f(s)就表 ...

  10. 其它——python操作kafka实践

    文章目录 1.先看最简单的场景,生产者生产消息,消费者接收消息,下面是生产者的简单代码. ------------------------------------------------------- ...