HTTP第一讲——HTTP是什么?

news2025/1/11 15:10:12

定义:

HTTP 就是超文本传输协议,也就是 HyperText TransferProtocol。
HTTP 的名字是“超文本传输协议”,它可以拆成三个部分,分别是:“超文本”、“传输”和“协议”。
在这里插入图片描述

首先,HTTP 是一个协议。不过,协议又是什么呢?

其实“协议”并不仅限于计算机世界,现实生活中也随处可见。例如,你在刚毕业时会签一个“三方协议”,找房子时会签一个“租房协议”,公司入职时还可能会签一个“保密协议”,工作中使用的各种软件也都带着各自的“许可协议”。

刚才说的这几个都是“协议”,本质上与 HTTP 是相同的,那么“协议”有什么特点呢?

第一点,协议必须要有两个或多个参与者,也就是“协”。
如果只有你一个人,那你自然可以想干什么就干什么,想怎么玩就怎么玩,不会干涉其他人,其他人也不会干涉你,也就不需要所谓的“协议”。但是,一旦有了两个以上的参与者出现,为了保证最基本的顺畅交流,协议就自然而然地出现了。
例如,为了保证你顺利就业,“三方协议”里的参与者有三个:你、公司和学校;为了保证你顺利入住,“租房协议”里的参与者有两个:你和房东。
第二点,协议是对参与者的一种行为约定和规范,也就是“议”。
协议意味着有多个参与者为了达成某个共同的目的而站在了一起,除了要无疑义地沟通交流之外,还必须明确地规定各方的“责、权、利”,约定该做什么不该做什么,先做什么后做什么,做错了怎么办,有没有补救措施等等。例如,“租房协议”里就约定了,租期多少个月,每月租金多少,押金是多少,水电费谁来付,违约应如何处理等等。

小结

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

接下来我们看 HTTP 字面里的第二部分:“传输”。

HTTP 是一个“传输协议”,所谓的“传输”(Transfer)其实很好理解,就是把一堆东西从A 点搬到 B 点,或者从 B 点搬到 A 点,即“A<===>B”。
别小看了这个简单的动作,它也至少包含了两项重要的信息。
第一点,HTTP 协议是一个“双向协议”。
也就是说,有两个最基本的参与者 A 和 B,从 A 开始到 B 结束,数据在 A 和 B 之间双向而不是单向流动。通常我们把先发起传输动作的 A 叫做请求方,把后接到传输的 B 叫做应答方或者响应方。拿我们最常见的上网冲浪来举例子,浏览器就是请求方 A,网易、新浪这些网站就是应答方 B。双方约定用 HTTP 协议来通信,于是浏览器把一些数据发送给网站,网站再把一些数据发回给浏览器,最后展现在屏幕上,你就可以看到各种有意思的新闻、视频了。
第二点,数据虽然是在 A 和 B 之间传输,但并没有限制只有 A 和 B 这两个角色,允许中间有“中转”或者“接力”。

这样,传输方式就从“A<===>B”,变成“A<=>X<=>Y<=>Z<=>B”,A 到 B 的传输过程中可以存在任意多个“中间人”,而这些中间人也都遵从 HTTP 协议,只要不打扰基本的数据传输,就可以添加任意的额外功能,例如安全认证、数据压缩、编码转换等等,优化整个传输过程。

小结

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

讲完了“协议”和“传输”,现在,我们终于到 HTTP 字面里的第三部分:“超文本”。

所谓“文本”(Text),就表示 HTTP 传输的不是 TCP/UDP 这些底层协议里被切分的杂乱无章的二进制包(datagram),而是完整的、有意义的数据,可以被浏览器、服务器这样的上层应用程序处理。
在互联网早期,“文本”只是简单的字符文字,但发展到现在,“文本”的涵义已经被大大地扩展了,图片、音频、视频、甚至是压缩包,在 HTTP 眼里都可以算做是“文本”。
所谓“超文本”,就是“超越了普通文本的文本”,它是文字、图片、音频和视频等的混合体,最关键的是含有“超链接”,能够从一个“超文本”跳跃到另一个“超文本”,形成复杂的非线性、网状的结构关系。
对于“超文本”,我们最熟悉的就应该是 HTML 了,它本身只是纯文字文件,但内部用很多标签定义了对图片、音频、视频等的链接,再经过浏览器的解释,呈现在我们面前的就是一个含有多种视听信息的页面。

小结

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

本讲总结

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

PS:本文是观看极客之后的笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/482291.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Swagger使用手册

目录 Swagger 的依赖Swagger 的配置Swagger 生成的测试页面地址Swagger 的注解遇到过的问题提示 documentationPluginsBootstrapper 空指针异常 Swagger 的依赖 <!--swagger2--> <dependency><groupId>io.springfox</groupId><artifactId>sprin…

【MATLAB图像处理实用案例详解(23)】——基于形态学处理的焊缝边缘检测算法

目录 一、问题描述二、图像预处理2.1 中值滤波去噪2.2 白平衡处理 三、焊缝边缘检测3.1 Sobel算子边缘检测3.2 Prewitt算子边缘检测3.3 Canny算子边缘检测3.4 形态学处理边缘检测 四、结果分析 一、问题描述 目前很多机械关键部件均为钢焊接结构&#xff0c;钢焊接结构易出现裂…

SSL证书支持IP改成https地址

我们都知道SSL证书能为域名加密&#xff0c;那么IP地址可以实现https加密吗&#xff1f;答案当然是肯定的。为IP地址进行https加密不仅能保护IP服务器与客户端之间数据传输安全&#xff0c;还能对IP服务器进行身份验证&#xff0c;确保用户信息安全&#xff0c;增强用户对IP地址…

Python每日一练(20230502)

目录 1. 被围绕的区域 &#x1f31f;&#x1f31f; 2. 两数之和 II &#x1f31f; 3. 二叉树展开为链表 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1…

【操作系统OS】学习笔记:第一章 操作系统基础【哈工大李治军老师】

基于本人观看学习 哈工大李治军老师主讲的操作系统课程 所做的笔记&#xff0c;仅进行交流分享。 特此鸣谢李治军老师&#xff0c;操作系统的神作&#xff01; 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0…

【前端知识】Cookie, Session,Token和JWT的发展及区别(中)

【前端知识】Cookie, Session&#xff0c;Token和JWT的发展及区别&#xff08;中&#xff09; 4. Session4.1 Session的背景及定义4.2 Session的特点&#x1f44d;4.2.1 Session的特点&#x1f440;4.2.2 Session保存的位置 4.3 Session的一些重要/常用属性4.4 Session的认证流…

算法之美~分治算法

如何理解分治算法&#xff1f; 分治算法&#xff08;divide and conquer&#xff09;的核心思想其实是&#xff0c;分而治之&#xff0c;也就是将原问题划分成n个规模较小&#xff0c;并且结构与原问题相似的子问题&#xff0c;递归第解决这些子问题&#xff0c;然后再合并其结…

什么是 Docker?它能用来做什么?

文章目录 什么是云计算&#xff1f;什么是 Docker&#xff1f;虚拟化技术演变特点架构镜像&#xff08;Image&#xff09;仓库&#xff08;Registry &#xff09;容器&#xff08;Container&#xff09; 应用场景 什么是云计算&#xff1f; 云计算是一种资源的服务模式&#x…

应急响应概述

一、应急响应事件类型 常见的应急响应事件分类&#xff1a; Web 入侵&#xff1a;主页篡改、Webshell 系统入侵&#xff1a;病毒木马、勒索软件、远控后门 网络攻击&#xff1a;DDOS 攻击、DNS 劫持、ARP 欺骗 二、可疑账号排查 2.1Windows 1&#xff09;‘WinR’…

世界坐标系、相机坐标系和图像坐标系的转换

本文转载于&#xff1a;https://blog.csdn.net/weixin_38842821/article/details/125933604?spm1001.2014.3001.5506 1. 世界坐标 世界坐标系是一个特殊坐标系&#xff0c;它建立了描述其他坐标系需要的参考框架。能够用世界坐标系描述其他坐标系的位置&#xff0c;而不能用更…

stack、queue和priority_queue的使用介绍--C++

一、stack介绍 1. stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。 2. stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其底层的容器&#xff0c;并提供一组…

YOLOv5 更换Neck之 BiFPN:如何替换YOLOv5的Neck实现更强的检测能力?

目录 一、BiFPN是什么&#xff1f;1、什么是BiFPN2、BiFPN的优势 二、为什么要用BiFPN替换YOLOv5的Neck&#xff1f;1、YOLOv5原有的Neck存在的问题2、BiFPN的适用场景 三、如何在YOLOv5中实现BiFPN1、下载并替换BiFPN代码2、修改配置文件3、遇到的问题及解决方法 四、BiFPN超参…

IronOCR 2023.4.13 Crack

IronOCR能够允许用户软件工程师直接从图片中读取文本文章&#xff0c;以及从.NET的程序和互联网网站中读取PDF。从扫描的图像中读取文本和条形码&#xff0c;能够支持多种外语&#xff0c;并且输出为纯文本甚至信息结构。IronOCR库能够供用户在互联网游戏控制台中使用。MVC&…

PyQt6: 多网卡适配器的选择与显示(GPT4帮写)

PyQt6: 多网卡适配器的选择与显示 1. 背景2. Python获取本机网卡适配器信息3. PyQT6 UI显示网卡信息4. PyQT6 后台处理&#xff1a;ButtonComboBox 附&#xff1a;GPT Output&#xff1a;博主热门文章推荐&#xff1a; &#xff08;本文部分文案由ChatGPT生成&#xff0c;但代码…

企企通:为什么成长型企业,需要SaaS采购管理平台?

根据艾瑞咨询发布的《2022年中国企业级SaaS行业研究报告》&#xff0c;未来三年SaaS行业的增长也将与宏观经济恢复速度相挂钩&#xff0c;在中性预期下&#xff0c;到2024年中国企业级SaaS市场规模将有望达到1201亿元。 由于SaaS和云模式出现&#xff0c;采购角色在慢慢发生了变…

perf record对C++程序耗时进行分析

本节将介绍如何使用perf工具的perf record对C代码进行性能分析&#xff0c;一切操作都是在ubuntu 20下进行。 perf工具安装 由于perf工具和内核版本有关&#xff0c;因此直接安装容易出错&#xff0c;建议直接通过如下指令安装&#xff1a; sudo apt-get install linux-tool…

【Access】Access:SQL 语句汇总

目录 一、SQL 的功能 二、考试重点 三、关系的定义 &#xff08;1&#xff09;新建关系 &#xff08;2&#xff09;删除关系 四、SQL 的「数据查询」功能 &#xff08;1&#xff09;基本结构 ① Select 语句的基本结构 ② Select 子句 ③ Where 子句 ④ 空值的处…

HTB-TheNotebook

HTB-TheNotebook 信息收集80端口JWT攻击 立足www-data -> noahnoah -> root 信息收集 80端口 存在一个登录和注册用户业务。先看看登录业务&#xff0c;在登录中如果我输入不存在的用户就会出现&#xff1a; Login Failed! Reason: User doesn’t exist. 如果是存在的用…

Value for SWIFT_VERSION cannot be empty错误解决

出错: 解决方法: 选择后 重新编译成功

【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 42页论文及代码

【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 42页论文及代码 相关链接 【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 详细建模方案及代码实现 1 题目 列车时刻表优化问题是轨道交通…