1 HTTP是什么,HTTP不是什么?
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处于中心地位。
总结
- HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
- HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。
- HTTP 传输的是文字、图片、音频、视频等超文本数据。
- HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。
随机推荐
- ubuntu/linux 好用的截图工具 搜狗输入法自带的截图快捷键,自己觉得不方便的话,修改为自己习惯的快捷键即可
公司要求使用ubuntu开发,在安装完必要得开发工具之后,按照我在windows平台的习惯,就准备安装一个好用的截图工具了,我比较推荐的是snipaste([https://zh.snipaste.c ...
- 【page cache】简介
目录 page cache 直接 IO 与 缓存 IO Linux IO 栈 Linux 中的具体实现 相关结构体 超级块 super_block 索引节点 inode 文件 file 目录项 den ...
- 三维模型OSGB格式轻量化的纹理压缩和质量保持分析
三维模型OSGB格式轻量化的纹理压缩和质量保持分析 在三维模型应用中,纹理数据是一个重要的部分,可以为模型增加更多的真实感和细节.但是,由于纹理数据通常会占用大量的存储空间和传输带宽,因此,在OSGB ...
- Python字符串操作函数split()和join()
字符串拆分 在python中有切片(Slice)操作符,可以对字符串进行截取,还提供了split()函数可以将一个 字符串分裂成多个字符串组成的列表.在使用split()函数来拆分字符串之前,我们先来 ...
- EXE一机一码打包加密大师(EXE加密, 一机一码, 添加授权,添加静态密码,支持设置试用时间)
EXE一机一码打包加密大师可以打包加密保护EXE文件,同时给EXE文件添加上一机一码认证,或者静态密码,不同的电脑打开加密后的文件需要输入不同的激活码才能正常使用,保护文件安全,方便向用户收费. 下载 ...
- Java 21新特性:Sequenced Collections(有序集合)
在JDK 21中,Sequenced Collections的引入带来了新的接口和方法来简化集合处理.此增强功能旨在解决访问Java中各种集合类型的第一个和最后一个元素需要非统一且麻烦处理场景. 下面 ...
- 有人说SaToken吃相难看,你怎么看。
前言 今天摸鱼逛知乎,偶然看到了一个回答,8月份的,是关于SaToken的,一时好奇就点了进去. 好家伙,因为一个star的问题,提问的人抱怨了许多,我有些意外,就仔细看了下面的评论,想知道一部分人的 ...
- SpringBoot进阶 CommandLineRunner 初始化配置
在Spring Boot中,CommandLineRunner接口用于在应用程序启动后执行一些特定的命令行操作.通过实现CommandLineRunner接口,您可以在Spring Boot应用程序运 ...
- 前端三件套系例之CSS——CSS3基础样式
文章目录 1.宽和高 案例 2.字体属性 2-1 文字字体 2-2 字体大小 2-3 字重(粗细) 2-4 文本颜色 2-5 总结 2-6 案例 文字属性 3-1 文字对齐 3-2 文字装饰 3-3 ...
- 如何使用Arduino创建摩尔斯电码生成器
摩尔斯电码工作原理 摩尔斯电码发明于19世纪,使用非常简单的长短脉冲序列(通常为电和划)来远距离发送消息.通过将字母表中的字母编码为电和划的组合,信息可以只用一个单一的电子或声音信号来表达. 为了说明 ...