常见的 14 个 HTTP 状态码详解

文章目录

  • 一、2xx 成功
    • 1、200 OK
    • 2、204 No Content
    • 3、206 Partial Content
  • 二、3xx 重定向
    • 1、301 Moved Permanently
    • 2、302 Found
    • 3、303 See Other
    • 注意
    • 4、Not Modified
    • 5、307 Temporary Redirect
  • 三、4xx 客户端错误
    • 1、400 Bad Request
    • 2、401 Unauthorized
    • 3、403 Forbidden
    • 4、404 Not Found
  • 四、5xx 服务器错误
    • 1、500 Internal Server Error
    • 2、503 Service Unavailable

一、2xx 成功

1、200 OK

在这里插入图片描述
从客户端发来的请求在服务器端被正常处理了

在响应报文内,随状态码一起返回的信息会因方法的不同而发生改变,比如,使用 GET 方法时,对应请求资源的实体会作为响应返回,而使用 HEAD 方法时,在响应中只返回首部,不会返回主体部分

2、204 No Content

在这里插入图片描述
请求已成功处理,但在返回的响应报文中不含主体部分,一般在只需要从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用,比如,当从浏览器发出请求处理后,返回 204 响应,那么浏览器显示的页面不发生更新

3、206 Partial Content

在这里插入图片描述
客户端进行了范围请求,而服务器成功执行了这部分的 GET 请求,响应报文中包含由 Content-Range 首部指定范围的实体内容

二、3xx 重定向

1、301 Moved Permanently

在这里插入图片描述
永久性重定向,如果把资源对应的 URL 保存为书签了,这时应该按 Location 首部提示的 URL 重新保存

2、302 Found

在这里插入图片描述
临时性重定向,该状态码表示请求的资源已被分配了新的 URL(已移动的资源对应的 URL 将来还有可能发生改变),希望用户(本次)能使用新的 URL 访问

3、303 See Other

在这里插入图片描述
和 302 有着相同的功能,但 303 明确表示客户端应当采用 GET 方法获取资源,这点与 302 有区别,比如,当使用 POST 方法访问 CGI 程序,其执行后的处理结果是希望客户端能以 GET 方法重定向到另一个 URL 上去时,返回 303

注意

301、302 标准是禁止将 POST 方法改变成 GET 方法的,但当 301、302、303 返回时,几乎所有的浏览器都会把 POST 改成 GET,并删除请求报文内的主体,之后请求会自动再次发送

4、Not Modified

在这里插入图片描述
客户端发送附带条件的请求(附带条件的请求是指采用 GET 方法的请求报文中包含 If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since 中任一首部)时,服务器端允许请求访问资源,但未满足条件的情况

304 返回时,不包含任何响应的主体部分,304 虽然被划分在 3xx 类别中,但是和重定向没有关系

5、307 Temporary Redirect

临时重定向,与 302 有着相同的含义,尽管 302 标准禁止 POST 方法变换成 GET 方法,但实际使用时打击并不遵守

307 会遵守浏览器标准,不会从 POST 方法变成 GET 方法,但是,对于处理响应时的行为,每种浏览器有可能出现不同的情况

三、4xx 客户端错误

1、400 Bad Request

在这里插入图片描述
请求报文中存在语法错误,当错误发生时,需修改请求的内容后再次发送请求,另外,浏览器会像 200 一样对待 400

2、401 Unauthorized

在这里插入图片描述
发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证)的认证信息,如果之前已进行过 1 次请求,则表示用户认证失败

返回含有 401 的响应必须包含一个适用于被请求资源的 WWW-Authenticate 首部用以质询用户信息,当浏览器初次接收到 401 响应,会弹出认证用的对话窗口

3、403 Forbidden

在这里插入图片描述
请求被拒绝,服务器端没有必要给出拒绝的详细理由,但如果想作说明的话,可以在主体部分对原因进行描述,这样就能让用户看到了

未获得文件系统的授权,访问权限出现某些问题(从未授权的发送源 IP 地址试图访问)等列举的情况都可能是发生 403 的原因

4、404 Not Found

在这里插入图片描述
服务器上无法找到请求的资源,除此之外,也可以在服务器端拒绝请求且不想说明理由时使用

四、5xx 服务器错误

1、500 Internal Server Error

在这里插入图片描述
服务器端在执行请求时发生了错误,也有可能是 Web 应用存在的 bug 或某些临时的故障

2、503 Service Unavailable

在这里插入图片描述
服务器暂时处于超负载或正在进行停机维护,现在无法处理请求,如果事先得知解除以上状况需要的时间,最好写入 Retry-After 首部再返回给客户端

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

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

相关文章

RAG(检索增强生成)学习路径全解析:从入门到精通

引言 检索增强生成(Retrieval Augmented Generation,简称RAG)是一种结合了信息检索技术与语言生成模型的人工智能技术。它通过从外部知识库中检索相关信息,然后将其作为上下文输入到大语言模型(LLM)中&…

OpenAI为抢跑AI,安全底线成牺牲品?

几年前,如果你问任何一个AI从业者,安全测试需要多长时间,他们可能会淡定地告诉你:“至少几个月吧,毕竟这玩意儿可能改变世界,也可能毁了它。”而现在,OpenAI用实际行动给出了一个新答案——几天…

解决在linux下运行rust/tauri项目出现窗口有内容,但是渲染出来成纯黑问题

起因 最近折腾了一下rust/tauri程序开发,据说这玩意性能非常牛皮就玩了一下,但是我运行打包一直出现一个奇怪问题,窗口能正常打开,但是是纯黑的什么内容都没有,鼠标移上去又发现指针会变换(看起来是内容又…

高并发内存池(定长内存池基础)

定长内存池的设计 定长内存池定长内存池的原理讲解代码实现定义对象New对象的主要逻辑delete对象的主要逻辑完整代码 定长内存池 为什么我们要设计这个定长内存池呢?首先malloc是c标准库中向堆申请空间的接口,变相的说malloc是普遍性,而我们…

【VUE3】练习项目——大事件后台管理

目录 0 前言 1 准备工作 1.1 安装pnpm 1.2 创建vue项目 1.3 Eslint & Prettier的配置 1.4 husky 提交代码检查 1.5 目录调整 1.6 VueRouter4 1.6.1 基础配置 1.6.2 路由跳转 1.7 引入 Element Plus 组件库 1.8 Pinia 1.8.1 优化 1.9 封装请求工具 1.9.1 安…

WebSocket与MQTT

在物联网(IoT)领域,​WebSocket和MQTT确实都可以实现实时通信,但它们的核心设计目标、适用场景和角色存在显著差异。以下是两者的对比分析: ​1. 协议设计初衷​ ​WebSocket​ ​目标​:提供浏览器与服务器…

Mysql为什么有时候会选错索引

案例 正常情况 有一个表t ( id, a , b ),id是主键索引,a是Normal索引。 正常情况下,针对a进行查询,可以走索引a 并且查询的数量和预估扫描行数是差不多的,都是10001行 奇怪的现象 随着时间的变化,后…

[250414] ArcoLinux 项目宣布逐步结束

目录 ArcoLinux 项目宣布逐步结束 ArcoLinux 项目宣布逐步结束 备受欢迎的 Arch Linux 发行版 ArcoLinux 近日宣布,其项目将逐步结束。ArcoLinux 以其作为 Linux 教育平台和提供多种安装选项(从完整桌面环境到最小化基础安装)而闻名。 核心…

opencv人脸性别年龄检测

一、引言 在计算机视觉领域,人脸分析是一个热门且应用广泛的研究方向。其中,人脸性别年龄检测能够自动识别图像或视频流中人脸的性别和年龄信息,具有诸多实际应用场景,如市场调研、安防监控、用户个性化体验等。OpenCV 作为一个强…

【NLP】 22. NLP 现代教程:Transformer的训练与应用全景解读

🧠 NLP 现代教程:Transformer的训练与应用全景解读 一、Transformer的使用方式(Training and Use) 如何使用Transformer模型? Transformer 模型最初的使用方式有两种主要方向: 类似 RNN 编码-解码器的架…

Spring Boot 集成 RocketMQ 全流程指南:从依赖引入到消息收发

前言 在分布式系统中,消息中间件是解耦服务、实现异步通信的核心组件。RocketMQ 作为阿里巴巴开源的高性能分布式消息中间件,凭借其高吞吐、低延迟、高可靠等特性,成为企业级应用的首选。而 Spring Boot 通过其“约定优于配置”的设计理念&a…

HTTPS实现安全的关键方法及技术细节

HTTPS(HyperText Transfer Protocol Secure)通过多种技术手段实现数据传输的安全性,其核心机制基于SSL/TLS协议,并结合数字证书、加密算法等技术。 SSL:Secure Sockets Layer,安全套接字层 TLS:…

Java【多线程】(8)CAS与JUC组件

目录 1.前言 2.正文 2.1CAS概念 2.2CAS两种用途 2.2.1实现原子类 2.2.2实现自旋锁 2.3缺陷:ABA问题 2.4JUC组件 2.4.1Callable接口 2.4.2ReentrantLock(与synchronized对比) 2.4.3Semaphore信号量 2.4.4CountDownLatch 3.小结 1…

【Docker】离线安装Docker

背景 离线安装Docker的必要性,第一,在目前数据安全升级的情况下,很多外网已经基本不好访问了。第二,如果公司有对外部署的需求,那么难免会存在对方只有内网的情况,那么我们就要做到学会离线安装。 下载安…

MecAgent Copilot:机械设计师的AI助手,开启“氛围建模”新时代

MecAgent Copilot作为机械设计师的AI助手,正通过多项核心技术推动机械设计进入“氛围建模”新时代。以下从功能特性、技术支撑和应用场景三方面解析其创新价值: 一、核心功能特性 ​​智能草图生成与参数化建模​​ 支持自然语言输入生成设计草图和3D模型,如输入“剖面透视…

MCU屏和RGB屏

一、MCU屏 MCU屏‌:全称为单片机控制屏(Microcontroller Unit Screen),在显示屏背后集成了单片机控制器,因此,MCU屏里面有专用的驱动芯片。驱动芯片如:ILI9488、ILI9341、SSD1963等。驱动芯片里…

7.5 使用MobileNet v3进行图像的区分

MobileNet v3是Google在2019年提出的轻量级卷积神经网络结构,旨在提高在移动设备上的速度和准确性,广泛的用于轻量级网络。 MobileNet v3-Small的网络结构如下,它的输入是224x224的3通道彩色图片。 使用过程如下: 1.创建模型、修改最终分类数量 #1.创建mobilenet_v3_small…

构建面向大模型训练与部署的一体化架构:从文档解析到智能调度

作者:汪玉珠|算法架构师 标签:大模型训练、数据集构建、GRPO、自监督聚类、指令调度系统、Qwen、LLaMA3 🧭 背景与挑战 随着 Qwen、LLaMA3 等开源大模型不断进化,行业逐渐从“能跑通”迈向“如何高效训练与部署”的阶…

PostgreSQL技术大讲堂 - 第86讲:数据安全之--data_checksums天使与魔鬼

PostgreSQL技术大讲堂 - 第86讲,主题:数据安全之--data_checksums天使与魔鬼 1、data_checksums特性 2、避开DML规则,嫁接非法数据并合法化 3、避开约束规则,嫁接非法数据到表中 4、避开数据检查,读取坏块中的数据…

【机器学习】机器学习笔记

1 机器学习定义 计算机程序从经验E中学习,解决某一任务T,进行某一性能P,通过P测定在T上的表现因经验E而提高。 eg:跳棋程序 E: 程序自身下的上万盘棋局 T: 下跳棋 P: 与新对手下跳棋时赢的概率…