10. 常见的 http 状态码有哪些

总结

  1. 1xx: 正在处理
  2. 2xx: 成功
  3. 3xx: 重定向,302 重定向,304 协商缓存
  4. 4xx: 客户端错误,401 未登录,403 没权限,404 资源不存在
  5. 5xx: 服务器错误

常见的 HTTP 状态码详解

HTTP 状态码(HTTP Status Code)是服务器返回给客户端的响应代码,用于表示请求的处理结果。它是一个三位数的数字代码,通常分为五类。


一、HTTP 状态码分类

状态码范围类别含义
1xxInformational(信息性)请求正在处理中
2xxSuccess(成功)请求已成功接收并处理
3xxRedirection(重定向)需要进一步操作才能完成请求
4xxClient Error(客户端错误)请求有误,服务器无法处理
5xxServer Error(服务器错误)服务器内部错误

二、常见状态码详解

✅ 1xx:信息性状态码(Informational)

  • 表示请求已被服务器接收,正在继续处理。
  • 客户端一般无需特别处理这些状态码。
状态码描述
100 Continue客户端可以继续发送请求体
101 Switching Protocols服务器根据客户端请求切换协议(如升级到 WebSocket)

✅ 2xx:成功状态码(Success)

  • 表示请求被服务器成功接收、理解和处理。
状态码描述
200 OK请求成功,正常返回数据
201 Created请求成功并在服务器上创建了新资源(常用于 POST)
204 No Content请求成功但没有返回内容(常用于 DELETE 或 PUT)

✅ 3xx:重定向状态码(Redirection)

  • 表示客户端需要进一步操作来完成请求,通常是跳转到另一个 URL。
状态码描述
301 Moved Permanently资源永久移动到了新位置(SEO 友好)
302 Found(临时重定向)资源临时移动到了新位置
303 See Other应该使用 GET 方法请求另一个 URI
304 Not Modified资源未修改,可使用缓存(常用于协商缓存)
307 Temporary Redirect与 302 类似,但要求保持请求方法不变

✅ 4xx:客户端错误状态码(Client Error)

  • 表示客户端发送的请求有问题,服务器无法处理。
状态码描述
400 Bad Request请求格式错误,服务器无法理解
401 Unauthorized请求需要身份验证(如 Token 过期)
403 Forbidden服务器拒绝执行请求(权限不足)
404 Not Found请求的资源不存在
405 Method Not Allowed请求方法不被允许(如用 POST 请求只支持 GET 的接口)
408 Request Timeout客户端请求超时
429 Too Many Requests客户端请求过多,服务器限流

✅ 5xx:服务器错误状态码(Server Error)

  • 表示服务器在处理请求的过程中发生了错误。
状态码描述
500 Internal Server Error服务器内部错误(最常见的服务端异常)
501 Not Implemented服务器不支持当前请求的功能
502 Bad Gateway作为网关或代理的服务器从上游服务器收到无效响应
503 Service Unavailable服务器暂时不可用(过载或维护)
504 Gateway Timeout网关或代理服务器等待上游服务器响应超时

三、状态码使用场景总结

场景推荐状态码
登录失败401 Unauthorized
没有访问权限403 Forbidden
页面不存在404 Not Found
接口调用成功200 OK
创建资源成功201 Created
删除/更新资源成功但无返回值204 No Content
服务器异常500 Internal Server Error
接口限流429 Too Many Requests
协商缓存命中304 Not Modified

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

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

相关文章

springBoot对接第三方系统

yml文件 yun:ip: port: username: password: controller package com.ruoyi.web.controller.materials;import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.materials.service.IYunService; import o…

【PTA数据结构 | C语言版】车厢重排

本专栏持续输出数据结构题目集,欢迎订阅。 文章目录题目代码题目 一列挂有 n 节车厢(编号从 1 到 n)的货运列车途径 n 个车站,计划在行车途中将各节车厢停放在不同的车站。假设 n 个车站的编号从 1 到 n,货运列车按照…

量子计算能为我们做什么?

科技公司正斥资数十亿美元投入量子计算领域,尽管这项技术距离实际应用还有数年时间。那么,未来的量子计算机将用于哪些方面?为何众多专家坚信它们会带来颠覆性变革? 自 20 世纪 80 年代起,打造一台利用量子力学独特性质…

BKD 树(Block KD-Tree)Lucene

BKD 树(Block KD-Tree)是 Lucene 用来存储和快速查询 **多维数值型数据** 的一种磁盘友好型数据结构,可以把它想成:> **“把 KD-Tree 分块压缩后落到磁盘上,既能做磁盘顺序读,又能像内存 KD-Tree 一样做…

【Mysql作业】

第一次作业要求1.首先打开Windows PowerShell2.连接到MYSQL服务器3.执行以下SQL语句:-- 创建数据库 CREATE DATABASE mydb6_product;-- 使用数据库 USE mydb6_product;-- 创建employees表 CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,ag…

(C++)STL:list认识与使用全解析

本篇基于https://cplusplus.com/reference/list/list/讲解 认识 list是一个带头结点的双向循环链表翻译总结: 序列容器:list是一种序列容器,允许在序列的任何位置进行常数时间的插入和删除操作。双向迭代:list支持双向迭代&#x…

Bash函数详解

目录**1. 基础函数****2. 参数处理函数****3. 文件操作函数****4. 日志与错误处理****5. 实用工具函数****6. 高级函数技巧****7. 常用函数库示例****总结:Bash 函数核心要点**1. 基础函数 1.1 定义与调用 可以自定义函数名称,例如将greet改为yana。❌…

Python爬虫实战:研究rows库相关技术

1. 引言 在当今数字化时代,互联网上存在着大量有价值的表格数据,这些数据以 HTML 表格、CSV、Excel 等多种格式存在。然而,由于数据源的多样性和不规范性,表格结构往往存在复杂表头、合并单元格、不规则数据行等问题,给数据的自动化处理带来了巨大挑战。 传统的数据处理工…

通过同态加密实现可编程隐私和链上合规

1. 引言 2023年9月28日,a16z 的加密团队发布了 Nakamoto Challenge,列出了区块链中需要解决的最重要问题。尤其是其中的第四个问题格外引人注意:“合规的可编程隐私”,因为Zama团队已经在这方面积极思考了一段时间。本文提出了使…

封装---统一封装处理页面标题

一.采用工具来实现(setPageTitle.ts)多个页面中用更统一的方式设置 document.title,可以封装一个工具函数:在utils目录下新建文件:setPageTitle.ts如果要在每个页面设置相同的网站标志可以使用下面的appNameconst appName: string import.meta.env.VITE_APP_NAMEex…

JAVA学习笔记 首个HelloWorld程序-002

目录 1 前言 2 开发首个程序 3 小结 1 前言 在所有的开发语言中,基本上首先程序就是输出HelloWorld,这里也不例外。这个需要注意的是,程序的核心功能是数据输出,是要有一个结果,可能没有输入,但是一定有…

智慧监所:科技赋能监狱管理新变革

1. 高清教育:告别模糊画面,学习更清晰传统电视的雪花屏终于成为历史!新系统采用高清传输,课件文字清晰可见,教学视频细节分明。某监狱教育科王警官说:"现在播放法律课程,服刑人员能清楚看到…

专题:2025供应链数智化与效率提升报告|附100+份报告PDF、原数据表汇总下载

全文链接:https://tecdat.cn/?p42926 在全球产业链重构与数字技术革命的双重驱动下,供应链正经历从传统经验驱动向数据智能驱动的范式变革。从快消品产能区域化布局到垂类折扣企业的效率竞赛,从人形机器人的成本优化到供应链金融对中小企业的…

uniapp+vue3+ts项目:实现小程序文件下载、预览、进度监听(含项目、案例、插件)

uniapp+vue3+ts项目:实现小程序文件下载、预览、进度监听(含项目、案例、插件) 支持封装调用: 项目采用uniapp+vue3+ts +京东nutUI 开发nutUi文档:loadingPage组件:https://uniapp-nutui.tech/components/exhibition/loadingpage.html案例效果图: 略博主自留地:参考本地…

用Python和OpenCV从零搭建一个完整的双目视觉系统(六 最终篇)

本系列文章旨在系统性地阐述如何利用 Python 与 OpenCV 库,从零开始构建一个完整的双目立体视觉系统。 本项目github地址:https://github.com/present-cjn/stereo-vision-python.git 1. 概述 欢迎来到本系列文章的最后一篇。在过去的几篇文章中&#…

Android View 绘制流程 简述 (无限递归+BitMap问题)

绘制流程 在 Android 的 View 系统中,draw(canvas) 和 dispatchDraw(canvas) 是绘制流程中的两个关键方法: 1. draw(canvas) 方法的作用 draw(canvas) 是 View 类中的核心绘制方法,它的主要职责包括: 绘制背景 - 调用 drawBac…

算法学习笔记:18.拉斯维加斯算法 ——从原理到实战,涵盖 LeetCode 与考研 408 例题

在随机化算法领域,拉斯维加斯(Las Vegas)算法以其独特的设计思想占据重要地位。与蒙特卡洛(Monte Carlo)算法不同,拉斯维加斯算法总能给出正确的结果,但运行时间具有随机性 —— 在最坏情况下可…

26-计组-指令执行过程

一、指令周期1. 定义与组成定义:CPU取出并执行一条指令所需的全部时间,称为指令周期。子周期划分:取指周期(必选):从存储器取指令到指令寄存器(IR)。间址周期(可选&#…

【JMeter】数据驱动测试

文章目录创建数据文件加载数据文件根据数据文件请求接口、传递参数拓展含义:根据数据的数量、内容,自动的决定用例的数据和内容。数据驱动测试用例。步骤: 创建数据文件加载数据文件根据数据文件请求接口、传递参数 创建数据文件 Jmeter支…

Springboot实现一个接口加密

首先来看效果这个主要是为了防止篡改请求的。 我们这里采用的是一个AOP的拦截,在有需要这样的接口上添加了加密处理。 下面是一些功能防篡改HMAC-SHA256 参数签名密钥仅客户端 & 服务器持有防重放秒级时间戳 有效窗口校验默认允许 5 分钟防窃听AES/CBC/PKCS5Pa…