HTTP 常见的状态码以及其适用场景

是什么

HTTP状态码(英语:HTTP Status Code),用以表示网页服务器超文本传输协议响应状态的3位数字代码
它由 RFC 2616规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774与 RFC 4918等规范扩展
简单来讲,http状态码的作用是服务器告诉客户端当前请求响应的状态,通过状态码就能判断和分析服务器的运行状态

分类

状态码第一位数字决定了不同的响应状态,有如下:

1 表示消息
2 表示成功
3 表示重定向
4 表示请求错误
5 表示服务器错误

1xx

代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束

常见的有:

100(客户端继续发送请求,这是临时响应):这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应
101:服务器根据客户端的请求切换协议,主要用于websocket或http2升级

2xx

代表请求已成功被服务器接收、理解、并接受

常见的有:

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

201(已创建):请求成功并且服务器创建了新的资源

202(已创建):服务器已经接收请求,但尚未处理

203(非授权信息):服务器已成功处理请求,但返回的信息可能来自另一来源

204(无内容):服务器成功处理请求,但没有返回任何内容

205(重置内容):服务器成功处理请求,但没有返回任何内容

206(部分内容):服务器成功处理了部分请求

3xx

表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向

常见的有:

300(多种选择):针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择

301(永久移动):请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置

302(临时移动): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求

303(查看其他位置):请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码

305 (使用代理): 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理

307 (临时重定向): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求

4xx

代表了客户端看起来可能发生了错误,妨碍了服务器的处理

常见的有:

400(错误请求): 服务器不理解请求的语法
401(未授权): 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403(禁止): 服务器拒绝请求
404(未找到): 服务器找不到请求的网页
405(方法禁用): 禁用请求中指定的方法
406(不接受): 无法使用请求的内容特性响应请求的网页
407(需要代理授权): 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理
408(请求超时): 服务器等候请求时发生超时
#5xx
表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生

常见的有:

500(服务器内部错误):服务器遇到错误,无法完成请求
501(尚未实施):服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码
502(错误网关): 服务器作为网关或代理,从上游服务器收到无效响应
503(服务不可用): 服务器目前无法使用(由于超载或停机维护)
504(网关超时): 服务器作为网关或代理,但是没有及时从上游服务器收到请求
505(HTTP 版本不受支持): 服务器不支持请求中所用的 HTTP 协议版本

适用场景

下面给出一些状态码的适用场景:

100:客户端在发送POST数据给服务器前,征询服务器情况,看服务器是否处理POST的数据,如果不处理,客户端则不上传POST数据,如果处理,则POST上传数据。常用于POST大数据传输

206:一般用来做断点续传,或者是视频文件等大文件的加载

301:永久重定向会缓存。新域名替换旧域名,旧的域名不再使用时,用户访问旧域名时用301就重定向到新的域名

302:临时重定向不会缓存,常用 于未登陆的用户访问用户中心重定向到登录页面

304:协商缓存,告诉客户端有缓存,直接使用缓存中的数据,返回页面的只有头部信息,是没有内容部分

400:参数有误,请求无法被服务器识别

403:告诉客户端进制访问该站点或者资源,如在外网环境下,然后访问只有内网IP才能访问的时候则返回

404:服务器找不到资源时,或者服务器拒绝请求又不想说明理由时

503:服务器停机维护时,主动用503响应请求或 nginx 设置限速,超过限速,会返回503

504:网关超时

在这里插入图片描述

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

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

相关文章

基于 Vue3 + Webpack5 + Element Plus Table 二次构建表格组件

基于 Vue3 Webpack5 Element Plus Table 二次构建表格组件 文章目录 基于 Vue3 Webpack5 Element Plus Table 二次构建表格组件一、组件特点二、安装三、快速启动四、单元格渲染配置说明五、源码下载地址 基于 Vue3 Webpack5 Element Plus Table 二次构建表格组件&#x…

蓝桥杯第十三届省赛C++B组(未完)

目录 刷题统计 修剪灌木 X进制减法 【前缀和双指针】统计子矩阵 【DP】积木画 【图DFS】扫雷 李白打酒加强版 DFS (通过64%,ACwing 3/11); DFS(AC) DP(AC) 砍竹子(X) 刷题统计 题目描述 小明决定从下周一开始努力刷题准…

【Java基础】面试题汇总

Java基础面试题1. JVM vs JDK vs JRE 2. 什么是字节码?采用字节码的好处是什么?3. 为什么说 Java 语言“编译与解释并存”?4. AOT 有什么优点?为什么不全部使用 AOT 呢?5. Java 和 C 的区别?6. Java 中的基本数据类型&#xff1…

正确使用@Autowired

目录 一、前言二、跟着官方文档,学习正确使用Autowired0、实验环境1、通过构造方法进行注入1.1 问题1:那万一没有这个CustomerPreferenceDao对象,会报错吗? 2、通过setter方法注入3、通过方法注入(这个方法可以是任意名…

Anritsu MS9740B与MS9740A 光谱分析仪 的区别?

MS9740B与MS9740A的主要区别在于测量处理时间的缩短和对高速信号处理技术的应用。MS9740B在保持原有功能和性能的同时,将测量处理时间缩短了一半。这一点通过提高生产效率和减少测量及检查时间来实现,从而提高了光有源设备制造商的生产力。此外&#xff…

可以监控员工电脑的软件有哪些

“可以监控员工电脑的软件是什么?” 那必然是“电脑监控软件”了!!! 电脑已成为现代企业中不可或缺的工具。然而,电脑使用不当或滥用可能会带来数据泄露、工作效率低下等问题,严重影响企业的运营和声誉。…

vue实现验证码验证登录

先看效果&#xff1a; 代码如下&#xff1a; <template><div class"container"><div style"width: 400px; padding: 30px; background-color: white; border-radius: 5px;"><div style"text-align: center; font-size: 20px; m…

数据结构面试题报错调试方法记录

栈和队列报错调试 1.用栈实现队列 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 此题解题思路如下&#xff1a; 先将数据放在pushst栈里面&#xff0c;popst栈为空再把pushst栈里面的数据放进popst栈里面去&#xff0c;不为空则不执行。不为空时候直接拿取栈…

测试框架pytest学习与实践

pytest是一个专业的测试框架&#xff0c;可以帮助我们对python项目进行测试&#xff0c;提高测试的效率。 pytest官网手册&#xff1a;pytest: helps you write better programs — pytest documentation 中文手册&#xff1a;Pytest 教程 入门学习 安装pytest pip install…

机器人开启私聊配置自定义接口的方式

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 今天给大家介绍一下&#xff0c;如何在机器人中开启私聊回复。 前提条件&#xff1a;机器人已经启动好了&#xff0c;且功能也都可以正常使用&#xff0c;如果没有启动&#xff0c;可以联…

《QT实用小工具·十八》高亮发光按钮控件

1、概述 源码放在文章末尾 该项目实现了高亮发光按钮控件 可设置文本&#xff0c;居中显示。可设置文本颜色。可设置外边框渐变颜色。可设置里边框渐变颜色。可设置背景色。可直接调用内置的设置 绿色、红色、黄色、黑色、蓝色 等公有槽函数。可设置是否在容器中可移动&#…

生成式AI产品汇总网站

在 AIHungry.com&#xff0c;我们处于人工智能发展的最前沿&#xff0c;为您带来最新的人工智能。深入了解我们对最佳人工智能工具的全面评论&#xff0c;并随时了解我们对人工智能新闻的报道。 人工智能新闻&#xff1a;随时了解人工智能领域的最新发展和突破。工具评论&…