前后端通信 —— HTTP/HTTPS
目录
一、HTTP/HTTPS 简介
1、HTTP
2、HTTPS
二、HTTP 工作过程
三、HTTP 消息
1、HTTP消息结构
2、HTTP消息示例
四、HTTP 方法(常用)
1、GET
2、POST
3、PUT
4、DELETE
5、GET与POST对比
五、HTTP 状态码(常用)
1、HTTP 状态码是什么
2、常见的HTTP状态码
一、HTTP/HTTPS 简介
1、HTTP
HTTP(Hypertext Transfer Protocol),超文本传输协议;
- 是一种用于在万维网上传输数据的应用层协议;
- 主要用来定义客户端和服务器之间的通信规则,包括请求和响应的格式、方法、状态码等;
- 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件、图片文件、查询结果等);
2、HTTPS
HTTPS(HyperText Transfer Protocol Secure),超文本传输安全协议;
在 HTTP 上加入 SSL/TLS 协议,为数据传输提供了加密和身份验证,是HTTP的安全版本;
二、HTTP 工作过程

1、客户端发起请求
用户通过客户端(如浏览器)输入 URL,客户端向服务器发起一个 HTTP 请求;
2、服务器处理请求
服务器接收到请求后,根据请求的类型(如GET、POST等)和请求的资源,进行相应的处理;
3、服务器返回响应
服务器将处理结果包装成HTTP响应消息,发送回客户端;
4、客户端渲染页面
客户端接收到响应后,根据响应内容(如HTML、图片等)渲染页面,展示给用户;
三、HTTP 消息
HTTP消息是指,在HTTP协议中,客户端与服务端之间进行数据传输的基本单元;
- 是前后端通信的基础,由一系列的文本行组成,有着固定的结构和格式;
- 遵循HTTP协议的规范,确保数据能够在客户端和服务器之间正确、高效地传输;
- 分为两种类型:请求消息和响应消息;
1、HTTP消息结构
(1)请求消息

(2)响应消息

| 组成部分 | 说明 |
|---|---|
| 起始行 Start Line |
|
| 头部字段 Headers |
|
| 空行 Empty Line |
|
| 消息体 Body |
|
2、HTTP消息示例
(1)请求消息

(2)响应消息

四、HTTP 方法(常用)
常用的HTTP方法有:GET、POST、PUT、DELETE;
| 序号 | 方法 | 语义 | 说明 |
|---|---|---|---|
| 1 | GET | 查找 | 从服务器获取资源。 |
| 2 | POST | 新增 | 向服务器发送数据以创建新资源。 |
| 3 | PUT | 修改 | 向服务器发送数据以更新现有资源。 |
| 4 | DELETE | 删除 | 从服务器删除指定的资源。 |
这些方法虽然有各自的语义,但并不是强制性的;
1、GET
GET方法,用于从服务器获取资源;
用于请求数据而不对数据进行更改;
例如,从服务器获取数据、图片、文件等;
2、POST
POST方法,用于向服务器发送数据以创建新资源;
常用于提交表单数据或上传文件,发送的数据包含在请求体中;
例如,新增用户、添加商品等;
3、PUT
PUT方法,向服务器发送数据以更新现有资源;
如果资源不存在,则创建新的资源;
例如,用户修改密码、更新商品库存等;
4、DELETE
DELETE方法,从服务器删除指定的资源;
请求中包含要删除的资源标识符;
例如:注销个人账户、删除某个商品信息;
5、GET与POST对比
| GET 请求 | POST 请求 | |
|---|---|---|
| 用途 | 常用于获取数据,如查询操作; | 常用于创建数据,如表单提交、文件上传等; |
| 数据传递方式 | 将数据作为URL的一部分进行传递,会显示在地址栏中; | 将数据放在请求体中进行传递,不会显示在地址栏中; |
| 数据长度限制 | 对数据的长度有限制,跟地址长度有关系,不同的浏览器有所不同,一般最多几k; | 理论上能携带的数据是无限的,但实际受配置和性能的影响; |
| 缓存 | 可以被缓存; | 一般不会被缓存; |
| 安全性 | 相对不安全,传递的数据在浏览器地址栏直接可见,不适合传递敏感数据; | 相对安全,更适合传递敏感信息; |
| 对服务器的影响 | 通常只是用来获取资源,不会对服务器上的资源产生影响; | 通常是用来创建资源,对服务器上的资源会产生; |
五、HTTP 状态码(常用)
1、HTTP 状态码是什么
HTTP状态码是HTTP协议中,用来描述服务器响应客户端请求结果的一种编码方式;
- 是服务器端返回的,对客户端请求的处理结果;
- 它由三位数字组成,每个数字表示不同的含义;
- 定义服务器对请求的处理结果,是服务器返回的;
2、常见的HTTP状态码
熟悉常用的状态码对前后端开发有很大的帮助;
不仅可以快速识别请求是否成功;
也可以得出在请求过程中出现的错误类型,进而相应的相应的处理;
| HTTP状态码 | 英文名称 | 语义 | ||||
| 1xx | 信息,服务器收到请求,需要请求者继续执行操作 | |||||
| 100 | Continue | 继续。客户端应继续其请求; | ||||
| 101 | Switching Protocols | 切换协议。服务器根据客户端的请求切换协议; | ||||
| 2xx | 成功,操作被成功接收并处理 | |||||
| 200 | OK | 请求成功。请求所希望的响应头或数据体将随此响应返回; | ||||
| 201 | Created | 已创建。成功请求并创建了新的资源; | ||||
| 202 | Accepted | 已接受。已经接受请求,但未处理完成; | ||||
| 204 | No Content | 无内容。服务器成功处理,但未返回内容; | ||||
| 206 | Partial Content | 部分内容。服务器成功处理了部分GET请求; | ||||
| 3xx | 重定向,需要进一步的操作以完成请求 | |||||
| 301 | Moved Permanently | 永久移动。请求的资源已被永久移动到新位置; | ||||
| 302 | Found | 临时移动。与301类似,客户端应继续使用原先的URL请求资源; | ||||
| 304 | Not Modified | 未修改。自上次请求后,请求的资源未被修改过; | ||||
| 305 | Use Proxy | 使用代理。所请求的资源必须通过代理访问; | ||||
| 307 | Temporary Redirect | 临时重定向。与302类似。使用GET请求重定向; | ||||
| 4xx | 客户端错误,请求包含语法错误或无法完成请求 | |||||
| 400 | Bad Request | 客户端请求的语法错误,服务器无法理解; | ||||
| 401 | Unauthorized | 请求要求用户的身份认证; | ||||
| 403 | Forbidden | 服务器理解请求,但拒绝执行它; | ||||
| 404 | Not Found | 服务器无法找到请求的资源; | ||||
| 405 | Method Not Allowed | 请求方法不被允许用于请求的资源; | ||||
| 409 | Conflict | 请求与当前资源的状态冲突; | ||||
| 410 | Gone | 服务器无法找到请求的资源,且该资源可能不再可用; | ||||
| 5xx | 服务器错误,服务器在处理请求的过程中发生了错误 | |||||
| 500 | Internal Serve Error | 服务器内部错误,无法完成请求; | ||||
| 501 | Not Implemented | 服务器不支持请求请求的功能; | ||||
| 502 | Bad Gateway | 服务器作为网关或代理,从上游服务器收到无效响应; | ||||
| 503 | Service Unavailable | 服务器当前无法使用(由于超载或停机维护); | ||||
| 504 | Gateway Timeout | 服务器作为网关或代理,但没有及时从上游服务器收到请求; | ||||
=========================================================================
每天进步一点点~~!
先记录到这里吧~~!
相关文章:
前后端通信 —— HTTP/HTTPS
目录 一、HTTP/HTTPS 简介 1、HTTP 2、HTTPS 二、HTTP 工作过程 三、HTTP 消息 1、HTTP消息结构 2、HTTP消息示例 四、HTTP 方法(常用) 1、GET 2、POST 3、PUT 4、DELETE 5、GET与POST对比 五、HTTP 状态码(常用) …...
人工智能 (AI) 应用:一个高精度ASD 诊断和照护支持系统
自闭症谱系障碍(ASD)是一种多方面的神经发育状况,影响全球大约1/100的儿童,而在中国,这一比例高达1.8%(引用自《中国0~6岁儿童孤独症谱系障碍筛查患病现状》),男童为2.6%…...
C# 1.方法
方法组成: 1.修饰符:public一般定义共有的 2.方法返回值:void 无返回值; 非void,可以写成其他类型例如int,float,string,string[]等 3.方法名:Add 大驼峰命名法,每一个首字符大写。…...
【C++进阶学习】第七弹——AVL树——树形结构存储数据的经典模块
二叉搜索树:【C进阶学习】第五弹——二叉搜索树——二叉树进阶及set和map的铺垫-CSDN博客 目录 一、AVL树的概念 二、AVL树的原理与实现 AVL树的节点 AVL树的插入 AVL树的旋转 AVL树的打印 AVL树的检查 三、实现AVL树的完整代码 四、总结 前言:…...
px,em,rem之间的关系换算
px,em,rem之间的换算 px:普通大小 em:相对单位,相对于父元素的字体大小 rem:相对单位,相对于根元素(html)的字体大小 <!DOCTYPE html> <html lang"en"> <head>…...
HTTP——POST请求详情
POST请求 【传输实体文本】向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在POST请求体中。POST 请求可能会导致新的资源的建立或已有资源的修改。 场景: 1. 提交用户注册信息。 2. 提交修改的用户信息。 常见的…...
外包干了1个月,技术明显退步。。。
有一种打工人的羡慕,叫做“大厂”。 真是年少不知大厂香,错把青春插稻秧。 但是,在深圳有一群比大厂员工更庞大的群体,他们顶着大厂的“名”,做着大厂的工作,还可以享受大厂的伙食,却没有大厂…...
LeetCode加油站(贪心算法/暴力,分析其时间和空间复杂度)
题目描述 一.原本暴力算法 最初的想法是:先比较gas数组和cost数组的大小,找到可以作为起始点的站点(因为如果你起始点的油还不能到达下一个站点,就不能作为起始点)。当找到过后,再去依次顺序跑一圈,如果剩余的油为负数…...
5.1 软件工程基础知识-软件工程概述
软件工程诞生原因 软件工程基本原理(容易被考到) 软件生存周期 能力成熟度模型 - CMM 能力成熟度模型 - CMMI 真题...
HttpUtil工具
http工具 用到的依赖 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency><dependency><groupId>org.apache.httpcomponent…...
并发编程-锁的分类
锁的分类 可重入锁&不可重入锁 可重入:当一个线程获取某个锁后,再次获取这个锁的时候是可以直接拿到的。不可重入:当一个线程获取某个锁之后,再次获取这个锁的时候拿不到,必须等自己先释放锁再获取。synchronized…...
K8S系列-Kubernetes基本概念及Pod、Deployment、Service的使用
一、Kubernetes 的基本概念和术语 一、资源对象 Kubernetes 的基本概念和术语大多是围绕资源对象 Resource Object 来说的,而资源对象在总体上可分为以下两类: 1、某种资源的对象 例如节点 Node) Pod 服务 (Service) 、存储卷 (Volume)。 2、…...
在VSCode上创建Vue项目详细教程
1.前期环境准备 搭建Vue项目使用的是Vue-cli 脚手架。前期环境需要准备Node.js环境,就像Java开发要依赖JDK环境一样。 1.1 Node.js环境配置 1)具体安装步骤操作即可: npm 安装教程_如何安装npm-CSDN博客文章浏览阅读836次。本文主要在Win…...
Go语言入门之流程控制简述
Go语言入门之流程控制简述 1.if语句 if语句和其他语言一样,只不过go语言的if不需要用括号包裹 if 语句的分支代码块的左大括号与 if 关键字在同一行上,这是 go 代码风格的统一要求 简单实例: func main() {// 猜数字a : 2if a > 0 {if a…...
接口测试框架基于模板自动生成测试用例!
引言 在接口自动化测试中,生成高质量、易维护的测试用例是一个重要挑战。基于模板自动生成测试用例,可以有效减少手工编写测试用例的工作量,提高测试的效率和准确性。 自动生成测试用例的原理 为了实现测试用例数据和测试用例代码的解耦&a…...
C++ STL stable_sort用法
一:功能 对区间内元素进行排序,保证相等元素的顺序(稳定排序) 二:用法 #include <iostream>struct Record {std::string label;int rank; };int main() {std::vector<Record> data {{"q", 1},…...
YOLO v8进行目标检测的遇到的bug小结
OSError: [WinError 1455] 页面文件太小,无法完成操作。 我的python环境是放在C盘的: 在“我的电脑”点击鼠标右键,打开“属性”点击高级系统设置点击“设置”找到“高级”点击“更改”分配“虚拟内存”(这里需要重启电脑才能生…...
FastAPI -- 第二弹(响应模型、状态码、路由APIRouter、后台任务BackgroundTasks)
响应模型 添加响应模型 from typing import Anyfrom fastapi import FastAPI from pydantic import BaseModel, EmailStrapp FastAPI()class UserIn(BaseModel):username: strpassword: stremail: EmailStrfull_name: str | None Noneclass UserOut(BaseModel):username: s…...
案例 | 人大金仓助力山西政务服务核心业务系统实现全栈国产化升级改造
近日,人大金仓支撑山西涉企政策服务平台、政务服务热线联动平台、政务网、办件中心等近30个政务核心系统完成全栈国产化升级改造,推进全省通办、跨省通办、综合业务受理、智能审批、一件事一次办等业务的数字化办结进程,为我国数字政务服务提…...
如何用python写接口
如何用python写接口?具体步骤如下: 1、实例化server 2、装饰器下面的函数变为一个接口 3、启动服务 开发工具和流程: python库:flask 》实例化server:server flask.Flask(__name__) 》server.route(/index,met…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
