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

何为HTTP状态码?一文清楚基本概念。

图片

在客户端与服务器之间的信息传输过程中,我们可以将其比喻为客户与快递员之间的包裹传递。那么服务器是如何通知客户端,操作是成功还是失败?或者有其他的一些情况呢?(就像客户可以查询快递的状态)

而这背后实现的答案是,“HTTP状态码”

快递员(服务器)接收到请求后,会开始处理这个包裹,比如查找、打包、准备发货等。如果一切顺利,快递员会将包裹成功送达,并告知客户(客户端)已成功签收,这就像是服务器返回了一个“200 OK”的状态码,表示请求已成功处理。

然而,有时也会出现一些问题。比如,快递员可能找不到客户请求的包裹(资源不存在),或者由于某种原因暂时无法发货(服务器内部错误)。在这种情况下,快递员会通过一个特定的信息来告知客户发生了什么问题,这些信息就像是HTTP状态码。

例如,如果快递员告诉客户“404 Not Found”,那就意味着客户请求的包裹在仓库中找不到;如果快递员说“500 Internal Server Error”,那就表示快递公司内部出了问题,暂时无法处理客户的请求。

除了直接的成功或失败信息,快递员还可能给出一些重定向的指示。比如,“301 Moved Permanently”就像是快递员告诉客户:“您要的包裹已经永久搬到另一个仓库了,以后请去那里取货。”而“304 Not Modified”则像是快递员确认:“您上次取的包裹内容没有变化,不需要再次取货。”

总的来说,HTTP状态码就像是快递员与客户之间的沟通工具,它们以标准化的方式传达了请求的处理情况,使得客户端能够根据实际情况作出相应的决策和行动。在这个包裹传递的比喻中,HTTP状态码确保了数据的准确传输和交互的顺利进行。

图片

状态码分类

比喻:快递员点头示意收到,等待你进一步指示。

比喻:快递员将包裹放门前,通知你已送达。

比喻:快递员指引你去新地址取件。

比喻:你写错地址,快递员无法找到。

比喻:快递员货车故障,需等待修复。

  • 1xx(信息响应):表示服务器收到请求,需要请求者继续执行操作。

  • 2xx(成功):表示请求成功,请求被成功接收并处理。

  • 3xx(重定向):表示重定向,需要进一步的操作以完成请求。

  • 4xx(客户端错误):表示客户端错误,请求包含语法错误或无法完成请求。

  • 5xx(服务器错误):表示服务器错误,服务器在处理请求的过程中发生了错误。

HTTP状态码介绍

1xx(信息响应)

状态码

英文名称

描述

100

Continue

服务器成功接收到请求头,客户端可以继续发送请求主体。

101

Switching Protocols

服务器即将切换的协议。

2xx(成功)

图片

状态码

英文名称

描述

200

OK

请求已成功,请求所希望的响应头或数据体将随此响应返回。

201

Created

请求已经被实现,而且有一个新的资源已经依据请求的内容而建立,且其 URI 已经随 Location 头信息返回。假如需要的资源无法及时建立的话,应当返回 '202 Accepted'。

202

Accepted

服务器已接受请求,但尚未处理。

203

Non-Authoritative Information

非授权信息,表示服务器已成功处理请求,但返回的信息可能来自其他地方,而非原始服务器。

204

No Content

无内容,服务器成功处理了请求,但不需要返回任何内容。

205

Reset Content

重置内容,请求已经成功处理,现在应该重置表单,以便用户可以继续输入新的信息 。

206

Partial Content

部分内容,服务器已经成功处理了部分GET请求。比如断点续传,在下载大文件时,如果下载过程中断,可以从上次中断的地方恢复下载,而不是重新开始。。

3xx(重定向)

图片

状态码

英文名称

描述

301

Moved Permanently

被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。

302

Found

请求的资源现在临时从不同的 URI 响应请求。

303

See Other

常用于将 POST 请求重定向到 GET 请求,比如你上传了一份个人信息,服务器发回一个 303 响应,将你导向一个“上传成功”页面。

304

Not Modified

请求的资源现在临时从不同的 URI 响应请求。

305

Use Proxy

使用代理,所请求的资源必须通过代理访问

306

Unused

已经被废弃的HTTP状态码

307

Temporary Redirect

状态码 307 与 302 之间的唯一区别在于,当发送重定向请求的时候,307 状态码可以确保请求方法和消息主体不会发生变化

表格展示效果不佳..

图片

关于4xx和5xx可以参考下图

图片

图片

图片

在工作中,HTTP 状态码还有一个作用,就是能有效防止程序员同学们甩锅,当系统出现一个bug的时候,他们第一反应大概率是:这肯定不是我写的代码出问题了。

但是,如果服务器返回4xx错误,那大概率就是前端同学的锅,前端同学就要第一时间介入;如果服务器返回5xx错误,就可以理直气壮地找后端同学解决问题了。

图片

觉得内容不错的 欢迎点击「在看」支持 谢谢各位

 
 
 

我也希望这个世界会因为分享而更美好!

单纯分享,无任何利益相关!

相关文章:

何为HTTP状态码?一文清楚基本概念。

在客户端与服务器之间的信息传输过程中,我们可以将其比喻为客户与快递员之间的包裹传递。那么服务器是如何通知客户端,操作是成功还是失败?或者有其他的一些情况呢?(就像客户可以查询快递的状态) 而这背后…...

SV学习笔记(七)

文章目录 类型转换写在前面动态转换子类句柄赋值于父类句柄父类句柄转换为子类句柄 虚方法写在前面非虚函数的调用虚函数的调用虚方法的建议为什么使用虚方法 对象拷贝写在前面赋值和拷贝总结 回调函数写在前面实例完成回调函数功能需要三步: 参数化类写在前面实现一…...

Windows SDK(五)按钮静态文本与编辑框控件

我们首先应该知道,所谓按钮静态文本等等控件都是窗口,他们都是隶属于父窗口下的子窗口,所 以在创建控件前,我们要首先创建一个父窗口,此处我们直接使用Windows桌面程序创建时,程 序自动为我们创建的一个窗…...

基于SSM框架实现的在线心理评测与咨询系统(技术栈 spring+springmvc+mybatis+jsp+jquery+css)

一、项目简介 本项目是一套基于SSM框架实现的在线心理评测与咨询系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试&am…...

GD32F470_ DS18B20温度传感器模块移植

DS18B20温度传感器 DS18B20数字温度传感器提供9位至12位精度的温度测量,并具有非易失性用户可编程上下触发点报警功能。DS18B20通过单总线通信,根据定义,只需要一条数据线(和地线)即可与单片机通信。此外,DS18B20可以直接从数据线…...

【JAVASE】带你了解instanceof和equals的魅力

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:再无B~U~G-CSDN博客 1.instanceof instanceof 是 Java 的保留关键字。它的作用是测试…...

【Linux】进程控制详解

目录 前言 进程创建 认识fork 写时拷贝 再谈fork 进程终止 进程退出码 用代码来终止进程 常见的进程终止的方式 exit _exit 进程等待 进程等待的必要性 进程等待的方式 wait waitpid 详解status参数 详解option参数 前言 本文适合有一点基础的人看的&#…...

Mysql 高性能的sql优化方案和建议

优化MySQL的性能是一项复杂而关键的任务,它可以通过多种方式来实现。下面是一些SQL优化的方案和建议: 索引优化: 确保经常查询的列都有索引。但不要过度索引,因为它可能会增加写入操作的开销。使用组合索引来覆盖多个查询条件。…...

鸿蒙实战开发:【实现应用悬浮窗】

如果你要做的是系统级别的悬浮窗&#xff0c;就需要判断是否具备悬浮窗权限。然而这又不是一个标准的动态权限&#xff0c;你需要兼容各种奇葩机型的悬浮窗权限判断。 fun checkPermission(context: Context): Boolean if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M)…...

应用开发:python解析斗鱼弹幕

解决问题 互动弹幕&#xff0c;关注提问 &#xff0c;ai回答 技术 python playwright 调用接口 https://github.com/broven/DouYudanmu/blob/master/douyu.py 演示 放弃 这个根本不是研究方向 定位错误 你浪费下午时间&#xff0c;定位错误 这个跟本不是你的方向。 4个小时看斗…...

【面试经典150 | 动态规划】交错字符串

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的数据结构等内容进行…...

设计模式(17):中介者模式

核心&#xff1a; 如果一个系统中对象之间的联系呈现网状结构&#xff0c;对象之间存在大量多对多关系&#xff0c;导致关系及其复杂&#xff0c;这些对象称为“同事对象”。我们可以引入一个中介者对象&#xff0c;使各个同事对象只跟中介者对象打交道&#xff0c;将复杂的网…...

echart 折线图或散点图当横坐标为小数位时,若想显示整数该如何处理?

如图当前是这样的&#xff1a; 横坐标刻度目前是小数位&#xff0c;如果直接将小数位取整则会失去精度&#xff0c;所以我们要做的是刻度即是整数&#xff0c;又能显示小数位对应的数值&#xff1b; 思路就是直接手动设置刻度&#xff1a;设置xAxis的min,max,splitNumber,同时不…...

一套C#自主版权+应用案例的手麻系统源码

手术麻醉信息管理系统源码&#xff0c;自主版权应用案例的手麻系统源码 手术麻醉信息管理系统包含了患者从预约申请手术到术前、术中、术后的流程控制。手术麻醉信息管理系统主要是由监护设备数据采集子系统和麻醉临床系统两个子部分组成。包括从手术申请到手术分配&#xff0c…...

31.2k star, 免费开源的白板绘图工具 tldraw

31.2k star, 免费开源的白板绘图工具 tldraw 分类 开源分享 项目名: tldraw -- 无限画布白板 Github 开源地址&#xff1a; https://github.com/tldraw/tldraw 在线测试地址&#xff1a; tldraw 文档地址&#xff1a; tldraw SDK tldraw 是一款开源免费的无限画布白板&…...

Redis开源协议调整,我们怎么办?

2024年3月20日, Redis官方宣布&#xff0c;从 Redis 7.4版本开始&#xff0c;Redis将获得源可用许可证 ( RSALv2 ) 和服务器端公共许可证 ( SSPLv1 ) 的双重许可&#xff0c;时间点恰逢刚刚完成最新一轮融资&#xff0c;宣布的时机耐人寻味。 Redis协议调整&#xff0c;对云计算…...

干了三年外包。。。忘了什么是CICD。。。

干了三年外包。。。忘了什么是CICD。。。 CI/CD(持续集成与持续交付) 是一种软件开发实践&#xff0c;它可以帮助我们更快地交付高质量的软件产品。CI/CD的核心思想是将软件开发过程中的各个阶段自动化&#xff0c;从而减少人工干预&#xff0c;提高开发效率和产品质量。本文将…...

【LeetCode】454. 四数相加 II

目录 题目 思路 代码 题目 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1…...

搜索(DFS BFS)

DFS 常规DFS: 二叉树前序,中序&#xff0c;后序遍历-CSDN博客 void postorderTraversal(root)初始化一个空列表 arrfind访问总树(root,arr)return arrvoid find(temp, arr)if temp 为空return // 调用顺序由前中后序决定find递归访问左子树find递归访问右子树arr加入当前节点…...

koc和kol是什么意思?

一、koc和kol是什么意思&#xff1f; koc和kol是专业术语。KOC是关键意见消费者的意思&#xff0c;是Key Opinion Consumer的缩写&#xff1b;KOL是关键意见领袖的意思&#xff0c;是Key Opinion Leader的缩写。 1、关键意见领袖kol “关键意见领袖”通俗地讲是达人。这些人…...

OpenVSP参数化飞机设计深度解析:从几何建模到气动分析的完整技术栈

OpenVSP参数化飞机设计深度解析&#xff1a;从几何建模到气动分析的完整技术栈 【免费下载链接】OpenVSP A parametric aircraft geometry tool 项目地址: https://gitcode.com/gh_mirrors/ope/OpenVSP OpenVSP是一款由NASA开发的开源参数化飞机几何设计工具&#xff0c…...

ClawGuard Web:构建AI技能安全扫描平台,从代码安全到信任生态

1. 项目概述&#xff1a;ClawGuard Web 安全技能注册平台如果你在 OpenClaw 生态里开发或使用技能&#xff0c;那你肯定遇到过这个头疼的问题&#xff1a;从 ClawHub 或者 GitHub 上找到一个看起来不错的技能&#xff0c;但心里总犯嘀咕——这代码里会不会藏着恶意后门&#xf…...

突破大语言模型平滑诅咒:Emergence Codex语义架构与OpenClaw实战指南

1. 项目概述&#xff1a;什么是 Emergence Codex 与 OpenClaw Skill如果你和我一样&#xff0c;在深度使用大语言模型&#xff08;LLM&#xff09;构建智能体或进行复杂推理任务时&#xff0c;常常感到一种无力感——无论你怎么精心设计提示词&#xff08;Prompt&#xff09;&a…...

3分钟让Windows任务栏焕然一新:TranslucentTB场景化配置全攻略

3分钟让Windows任务栏焕然一新&#xff1a;TranslucentTB场景化配置全攻略 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 厌倦了Windows…...

聊聊我是怎么用Claude code来学习项目的吧

首先我和许多大学生一样我对项目这个的概念理解为零&#xff0c;但是我比较喜欢研究ai&#xff0c;我喜欢用ai去帮我写一些小项目啊&#xff0c;小游戏啊&#xff0c;还有一些脚本&#xff0c;像一些国外的cursor&#xff0c;国内的treat&#xff0c;还有Claude code我基本都玩…...

小型嵌入式系统开发流程与实践指南

1. 小型嵌入式系统开发流程概述在嵌入式系统开发领域&#xff0c;一个结构化的软件开发流程往往是项目成功的关键因素。与通用计算机软件开发不同&#xff0c;嵌入式系统通常具有资源受限、实时性要求高、硬件依赖性强等特点&#xff0c;这使得开发流程的设计需要特别考虑这些约…...

AI智能体技能管理:MCP服务器安装配置与实战指南

1. 项目概述&#xff1a;一个为AI智能体管理“技能”的MCP服务器 最近在折腾AI智能体&#xff08;Agent&#xff09;开发的朋友&#xff0c;应该都遇到过同一个痛点&#xff1a;想让你的Claude、GPT或者Gemini去执行一些特定的、复杂的任务&#xff0c;比如调用某个API、处理特…...

Groundhog:基于Git仓库的开发者时间自动追踪工具

1. 项目概述&#xff1a;一个面向开发者的时间管理利器如果你是一名开发者&#xff0c;或者你的工作与代码、项目、任务紧密相关&#xff0c;那么你一定对“时间都去哪儿了”这个问题深有感触。我们每天在各种编辑器、终端、浏览器标签页之间切换&#xff0c;处理着功能开发、B…...

SITS 2026发布12项技术白皮书+7套开源工具链:附CSDN认证工程师亲测部署清单(含GitHub直达链接)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;CSDN主办SITS 2026&#xff1a;2026奇点智能技术大会亮点全解析 SITS 2026&#xff08;Singularity Intelligence Technology Summit&#xff09;由CSDN联合中国人工智能学会、中科院自动化所共同主办&…...

kasetto:用SQL思维操作本地CSV/JSON文件的命令行利器

1. 项目概述&#xff1a;一个被低估的本地化数据管理利器如果你经常需要在本地处理一些结构化的数据&#xff0c;比如从网页上抓取的信息、日常记账的记录、项目进度的跟踪&#xff0c;或者只是想把一些零散的笔记整理成表格&#xff0c;你可能会面临一个选择&#xff1a;是用E…...