当前位置: 首页 > news >正文

HTTP协议是什么

HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议,是一种网络通信协议。

  • 超文本:所谓 “超文本” 的含义, 就是传输的内容不仅仅是文本(比如 html, css 这个就是文本), 还可以是一些其他的资源, 比如图片, 视频, 音频等二进制的数据。

  • 超文本传输协议是一个简单的请求-响应协议,它通常运行在TCP之上。

理解应用层协议

TCP/IP协议 ,可以将数据从客户端进程经过路径选择跨网络传送到服务器端进程[ IP+Port ].
可是,仅仅把数据从A点传送到B点就完了吗?

这就好比,在淘宝上买了一部手机。
卖家 [ 客户端 ] 把手机通过顺丰[ 传送+路径选择 ] 送到买家 [ 服务器 ] 手里就完了吗?
当然不是,买家还要使用这款产品,还要在使用之后,给卖家打分评论。

所以,我们把数据从A端传送到B端, TCP/IP 解决的是顺丰的功能,而两端还要对数据进行加工处理或者使用,所以我们还需要一层协议,不关心通信细节,关心应用细节!
这层协议叫做应用层协议。而应用是有不同的场景的,所以应用层协议是有不同种类的,其中经典协议之一的HTTP就是其中的佼佼者.

再回到我们刚刚说的买手机的例子,顺丰相当于 TCP/IP 的功能,那么买回来的手机都附带了说明书【产品介绍,使用介绍,注意事项等】,而该说明书指导用户该如何使用手机【虽然我们都不看,但是父母辈有部分是有看说明书的习惯的:)】,此时的说明书可以理解为用户层协议

HTTP协议的工作过程

当我们在浏览器中输入一个 “网址”, 此时浏览器就会给对应的服务器发送一个 HTTP 请求. 对方服务器收到这个请求之后, 经过计算处理,就会返回一个 HTTP 响应.

在这里插入图片描述

HTTP协议格式

HTTP请求

  • 首行: [方法] + [url] + [版本]
  • Header: 请求的属性,冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部 分结束
  • Body: 空行后面的内容都是Body.Body允许为空字符串. 如果Body存在, 则在Header中会有 一个Content-Length属性来标识Body的长度;

HTTP响应

  • 首行: [版本号] + [状态码] + [状态码解释]
  • Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部
    分结束
  • Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有
    一个Content-Length属性来标识Body的长度; 如果服务器返回了一个html页面, 那么html页
    面内容就是在body中.
    在这里插入图片描述

HTTP请求方法

在这里插入图片描述

GET方法

GET 是最常用的 HTTP 方法. 常用于获取服务器上的某个资源。

GET 请求的特点:

  • 首行的第一部分为 GET
  • URL 的 query string 可以为空, 也可以不为空.
  • header 部分有若干个键值对结构.
  • body 部分为空.

POST方法

POST 方法也是一种常见的方法. 多用于提交用户输入的数据给服务器(例如登陆页面)。

通过 HTML 中的 form 标签可以构造 POST 请求, 或者使用 JavaScript 的 ajax 也可以构造 POST 请求.

POST 请求的特点:

  • 首行的第一部分为 POST
  • URL 的 query string 一般为空 (也可以不为空)
  • header 部分有若干个键值对结构.
  • body 部分一般不为空. body 内的数据格式通过 header 中的 Content-Type 指定. body 的长度由header 中的 Content-Length 指定.

其它方法

  • PUT 与 POST 相似,只是具有幂等特性,一般用于更新
  • DELETE 删除服务器指定资源
  • OPTIONS 返回服务器所支持的请求方法
  • HEAD 类似于GET,只不过响应体不返回,只返回响应头
  • TRACE 回显服务器端收到的请求,测试的时候会用到这个
  • CONNECT 预留,暂无使用

相关文章:

HTTP协议是什么

HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议,是一种网络通信协议。 超文本:所谓 “超文本” 的含义, 就是传输的内容不仅仅是文本(比如 html, css 这个就是文本), 还可以是一些其他的资源, 比如图片, 视频, 音频等二进制的数据。…...

微服务09-Sentinel的入门

文章目录 微服务中的雪崩现象解决办法:1. 超时处理2. 舱壁模式3. 熔断降级4.流量控制 Sentinel1.介绍2.使用操作3.限流规则4.实战:流量监控5.高级选项功能的使用1.关联模式2.链路模式3.总结 流控效果1.预热模式2.排队等待模式3.总结4.热点参数限流5.实战…...

2023-2024-1 高级语言程序设计实验一: 选择结构

7-1 古时年龄称谓知多少? 输入一个人的年龄(岁),判断出他属于哪个年龄段 ? 0-9 :垂髫之年; 10-19: 志学之年; 20-29 :弱冠之年; 30-39 &#…...

js事件循环详解

事件循环简介 JavaScript的事件循环是一种处理异步事件和回调函数的机制,它是在浏览器或Node.js环境中运行,用于管理任务队列和调用栈,以及在适当的时候执行回调函数。 事件循环的基本原理是,JavaScript引擎在空闲时等待事件的到…...

实战指南:使用 kube-prometheus-stack 监控 K3s 集群

作者简介 王海龙,Rancher 中国社区技术经理,Linux Foundation APAC Evangelist,负责 Rancher 中国技术社区的维护和运营。拥有 9 年的云计算领域经验,经历了 OpenStack 到 Kubernetes 的技术变革,无论底层操作系统 Lin…...

golang调用scws实现简易中文分词

1、安装 scws 官网以及文档 https://github.com/hightman/scws wget -q -O - http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 | tar xjf -cd scws-1.2.3 ./configure --prefix/usr/local/scws --enable-shared make && make installLibraries have been ins…...

Excel 中使用数据透视图进行数据可视化

使用数据透视表(PivotTable)是在Excel中进行数据可视化的强大工具。下面将提供详细的步骤来使用数据透视表进行数据可视化。 **步骤一:准备数据** 首先,确保你有一个包含所需数据的Excel表格。数据应该按照一定的结构和格式组织…...

在SIP 语音呼叫中出现单通时要怎么解决?

在VoIP的环境中,特别是基于SIP通信的环境中,我们经常会遇到一些非常常见的问题,例如,单通,注册问题,回声,单通等。这些问题事实上都有非常直接的排查方式和解决办法,用户可以按照一定…...

【师兄啊师兄2】公布,李长寿成功渡劫,敖乙叛变,又一美女登场

Hello,小伙伴们,我是小郑继续为大家深度解析国漫资讯。 由玄机制作的师兄啊师兄第一季这才完结没有多久,没想到现在第二季就公布了,连海报和预告都出来了,看样子已经做得差不多了。预告看下来,能够明显感觉到官方又进步…...

视频倒着播放,原来是这么实现的

视频倒放是当今最流行的内容类型之一,这些视频服务于不同的目的,例如营销、娱乐、教育等。它们以独特的内容脱颖而出,并给观众留下深刻印象,将视频编辑带到了一个全新的水平。 在本文中,您将了解有关视频倒着播放的内…...

# 02 初识Verilog HDL

02 初识Verilog HDL ‍ 对于Verilog的语言的学习,我认为没必要一开始就从头到尾认真的学习这个语言,把这个语言所有细节都搞清楚也不现实,我们能够看懂当前FPGA的代码的程度就可以了,随着学习FPGA深度的增加,再不断的…...

使用 Eziriz .NET Reactor 对c#程序加密

我目前测试过好几个c#加密软件。效果很多时候是加密后程序执行错误,或者字段找不到的现象 遇到这个加密软件用了一段时间都很正常,分享一下使用流程 破解版本自行百度。有钱的支持正版,我用的是 Eziriz .NET Reactor 6.8.0 第一步 安装 Ezi…...

Restclient-cpp库介绍和实际应用:爬取www.sohu.com

概述 Restclient-cpp是一个用C编写的简单而优雅的RESTful客户端库,它可以方便地发送HTTP请求和处理响应。它基于libcurl和jsoncpp,支持GET, POST, PUT, PATCH, DELETE, HEAD等方法,以及自定义HTTP头部,超时设置,代理服…...

提升市场调研和竞品分析效率:利用Appium实现App数据爬取

市场调研和竞品分析通常需要获取大量的数据,而手动收集这些数据往往耗时且容易出错。而利用Appium框架,我们可以轻松地实现自动化的App数据爬取,这种方法不仅可以节省时间和人力成本,还可以提高数据的准确性和一致性。 Appium是一…...

【Git笔记】之Git重命名详解

目录 一、Git重命名文件 二、Git重命名origin 三、Git重命名分支 四、Git重命名远程分支 五、Git重命名作者 六、Git clone重命名 七、Git重命名仓库 八、Git重命名文件夹后出现两个代码 九、Git重命名文件名 Git是一个非常流行的版本控制工具,它可以帮助程…...

201、RabbitMQ 之 Exchange 典型应用模型 之 工作队列(Work Queue)

目录 ★ 工作队列介绍代码演示测试注意点1:注意点2: ★ 工作队列介绍 工作队列: 就是让多个消费者竞争消费同一个消息队列的消息,相当于多个消费者共享消息队列。 ▲ RabbitMQ可以让多个消费者竞争消费同一个消息队列 ▲ 消息队…...

了解三层架构:表示层、业务逻辑层、数据访问层

目录 背景: 三层架构 什么是三层: 分层的目的: 三层的结构关系​编辑 三层表现形式:​编辑 三层的优缺点: 总结: 背景: 三层架构是一种软件设计模式,可称为客户端-服务器-架构,把各个功能模块划分…...

三相空气开关

一、三相空开的作用 三相空气开关对任意一相出现过载或短路,均起到保护作用。 二、三相空气开关原理图: 1、老式空气开关 1)、短路时,电磁脱钩器工作 2)、过载时,发热元件引起双金属片弯曲,使脱钩器工作 3)、测试按…...

uniapp 单位rpx ,设计稿尺寸px处理方式

1.使用postcss-px2rpx 插件做全局的单位转换 npm install postcss-px2rpx -D npm 安装 2.postcss.config.js修改 module.exports {plugins: {postcss-px2rpx: {// 设计稿宽度,默认750designWidth: 750,// 需要转换的最小像素值,默认1pxminPixelValue: 1…...

@所有燃气企业,城燃企业数字化转型重点抓住的八个关键点

关键词:智慧燃气、燃气数字化、设备设施数字化 数字化转型是用信息技术全面重塑企业经营管理模式,是企业发展模式的变革创新,是企业从工业经济时代迈向数字经济时代的必然选择。加快推进企业数字化转型,打造数字时代企业业务运行…...

开源键盘定制工具:无需编程打造专属机械键盘体验

开源键盘定制工具:无需编程打造专属机械键盘体验 【免费下载链接】keyboards 项目地址: https://gitcode.com/gh_mirrors/key/keyboards 在机械键盘的世界里,每一位用户都渴望拥有一把真正符合自己使用习惯的输入设备。开源键盘定制工具正是这样…...

Phi-4-mini-reasoning低成本部署:8GB显存即可运行的高性能推理模型

Phi-4-mini-reasoning低成本部署:8GB显存即可运行的高性能推理模型 1. 模型介绍 Phi-4-mini-reasoning 是一款专注于推理任务的文本生成模型,特别适合处理数学题、逻辑题、多步分析和简洁结论输出等场景。与通用聊天模型不同,它采用了"…...

用STC89C51+ESP8266-01做个宿舍环境监测器,再用App Inventor2做个手机App(保姆级避坑指南)

宿舍环境监测器实战:STC89C51ESP8266与App Inventor 2避坑指南 凌晨三点,室友的鼾声和窗外施工噪音让你辗转难眠。更糟的是,你发现喉咙干涩、头昏脑胀——这间不到20平米的宿舍里,二氧化碳浓度早已超标。作为电子爱好者&#xff0…...

TRAE SOLO模式实战:如何用AI上下文工程师5分钟搞定JWT登录接口开发

TRAE SOLO模式实战:5分钟构建JWT登录接口的AI开发革命 清晨的阳光透过百叶窗洒在键盘上,咖啡杯里升起最后一缕热气。作为一名全栈开发者,你刚收到产品经理的紧急需求:"今天下班前上线用户登录功能,支持邮箱密码验…...

Phi-4-mini-reasoning应用场景:AI竞赛教练系统自动出题与解析

Phi-4-mini-reasoning应用场景:AI竞赛教练系统自动出题与解析 1. 引言:当AI遇见竞赛训练 想象一下,一位数学竞赛教练每天需要: 设计不同难度的题目准备详细的解题步骤针对学生错误提供个性化解析不断更新题库保持新鲜度 传统方…...

万象视界灵坛代码实例:批量处理百张图像并导出CSV格式语义匹配报告

万象视界灵坛代码实例:批量处理百张图像并导出CSV格式语义匹配报告 1. 项目概述与核心价值 万象视界灵坛是一款基于OpenAI CLIP模型的高级多模态智能感知平台,它将复杂的图像语义分析转化为直观的交互体验。不同于传统视觉识别工具,该平台采…...

掰开揉碎魔改claudecode后,我盯着 Claude Code 跑了一圈,终于看懂顶级 AI Agent是如何炼成的

开头先来一句狠的很多人以为,Claude Code 之所以强,是因为模型更聪明。但我把它运行时真正生效的 Payload 抓出来之后,结论反而更明确了:顶级 AI Agent 的差距,很多时候不在模型本身,而在它背后那套“怎么约…...

复古计算机复兴:OpenClaw+Qwen3-14B驱动命令行工作流

复古计算机复兴:OpenClawQwen3-14B驱动命令行工作流 1. 当AI遇见Unix哲学 我的书桌上至今保留着一台1984年的IBM PC/AT,那厚重的机械键盘和闪烁的绿色光标总能唤起某种仪式感。最近在调试OpenClaw对接Qwen3-14B时,突然意识到:我…...

JavaScript开发提效:从ZoomIt、Inspection Lens到Xmind的实战应用

1. ZoomIt:让代码审查和演示更高效的工具 第一次接触ZoomIt是在一次团队代码评审会上。当时同事正在讲解一个复杂的DOM操作逻辑,屏幕上的代码密密麻麻,后排同事根本看不清细节。只见他按下快捷键,屏幕瞬间放大到200%,关…...

2026 codex 大模型 api 配置指南:auth.json、config.toml 与 401/超时排查

当 codex --version 已经能正常输出,很多人会以为接下来只剩下提问和改代码。但真正决定 Codex 能不能顺利进入项目的,往往是 codex 大模型 api 有没有按要求接好:只要 auth.json、config.toml 或网关地址有一点偏差,就可能马上碰…...