百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

HTTP 中的常用状态码及使用场景(http+中的常用状态码及使用场景有哪些)

nanshan 2024-10-21 06:03 10 浏览 0 评论

大家好,我是前端西瓜哥。今天我们来学习 HTTP 中的常用状态码及使用场景。

作为前端,经常需要从后端获取数据,所以对 HTTP 的掌握也是很重要的。

其中 HTTP 状态码则代表了当前请求的状态,比如客户端还是服务端错误之类的,也是考的比较多的点

1xx 消息

这类状态码,代表请求已被服务端接受,但服务端还要继续进行处理。

100 Continue

继续

服务端收到请求,并表示可以继续。在客户端准备推送较大的数据时,可以用 100 表示允许。

101 Switching Protocols

切换协议

比较常见的是响应 WebSockets 连接,浏览器会先发送 HTTP 请求,在请求头里带上希望升级为 WebSockets 协议的相关信息。

服务端收到后,如果支持 WebSockets,就会返回这个状态码 101,进行 HTTP 到 WebSockets 的协议切换。

2xx 成功

这类状态码代表服务已被正常处理。

200 OK

成功

200 是用得最多的状态码,前端请求接口,数据正常返回,就会拿到这个状态码。这是大家最喜欢看到的状态码。

3xx 重定向

代表客户端需要进行进一步操作才能完成请求。

301 Moved Permanently

永久重定向

请求的资源被永久移动到其他位置。

假如我们的一篇博客的 url 地址发生了永久的改变,但用户收藏夹里的链接还是旧的,我们就可以在用户请求旧链接时,返回 301 状态码,并赋上一个重定向地址。

HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/index.asp

这样用户就能跳到正确的新地址中。

这新的重定向地址会被浏览器缓存,下次用户访问旧链接时,就不会发请求拿到 301,而是直接就跳到重定向地址了。

所以设置重定向地址时要小心点,别搞错了。

还有一个常用用途是 HTTP 链接跳转到 HTTPS 链接

比如我们访问 http://zhihu.com/,就会跳转到 https://www.zhihu.com/

302 Found

临时重定向

原始描述短语为 Moved Temporarily

适合一些临时的重定向操作,比如因为服务器崩溃导致一些页面无法提供正确的访问,在修复期间,则可以通过 302 先暂时地重定向到一个新的地址。修复完后再让用户继续访问原链接。

302 不会持久缓存,但可以设置缓存时间持续一段时间。

HTTP/1.1 302 Found
Location: https://www-temp.example.org/
Cache-control: private; max-age=600

304 Not Modified

没有改变

304 指的是资源相比上次没有发生变化,客户端可以继续使用之前缓存的资源,以减轻浏览器负担。

这里涉及到了 HTTP 缓存中的强缓存和协商缓存知识。协商缓存中会用到 304 状态码。

具体可以看我之前写的一篇文章:《HTTP 缓存策略:强缓存和协商缓存》

4xx 客户端错误

客户端的问题。

400 Bad Request

不好的请求

通用的客户端错误,表示问题是出在客户端身上的。比如传的参数不对。

在前端和后端对接接口时,比较常看到这个错误,因为容易写错参数名,或者后端新增或修改了参数。

404 Not Found

不存在

广为人知的状态码,代表 url 对应资源不存在。

比如一些文章被删除,是直接在数据库中进行不可逆地彻底删除的。然后就导致用户访问这个页面时,服务器找不到对应数据,然后就返回一个 404,并提示 “页面不存在”。

405 Method Not Allowed

方法不被允许

请求方法没用对,比如一个请求应该用 POST,你却用了 GET 请求,就会得到 405。

拿到 405 通常说明你的 url 没错,错的是方法。如果 url 也不对,你拿到的将是 404。

5xx服务器错误

服务端的问题,快去找后端,别老抓着前端一顿问。

500 Internal Server Error

内部服务错误

后端服务器的代码出了 bug,比如读取了一个 null 的属性,就会导致服务无法正常运行下去,然后后端就会捕获(catch)这个错误,返回 500,告知是后端服务器出了问题。

严重的情况下,后端服务直接崩溃。

502 Bad Gateway

网关错误

比如后端服务崩溃,但中间的一些代理服务器 Web Server(比如 Ngnix)还能正确运行。但因为无法访问到后端服务,所以就会返回一个 502。

504 Gateway Timout

网关超时

网关还在,但后端服务因为各种原因(比如因为一个死循环卡死了),导致一直没有响应回来,在过了一段时间后网关了依旧没能收到消息,就会给客户端返回 504 网关超时。

结尾

常见的 HTTP 状态码大概就是这些,

我是前端西瓜哥,想要学习更多前端面试题解,欢迎关注我。

相关推荐

服务器数据恢复—Raid5数据灾难不用愁,Raid5数据恢复原理了解下

Raid5数据恢复算法原理:分布式奇偶校验的独立磁盘结构(被称之为raid5)的数据恢复有一个“奇偶校验”的概念。可以简单的理解为二进制运算中的“异或运算”,通常使用的标识是xor。运算规则:若二者值...

服务器数据恢复—多次异常断电导致服务器raid不可用的数据恢复

服务器数据恢复环境&故障:由于机房多次断电导致一台服务器中raid阵列信息丢失。该阵列中存放的是文档,上层安装的是Windowsserver操作系统,没有配置ups。因为服务器异常断电重启后,rai...

服务器数据恢复-V7000存储更换磁盘数据同步失败的数据恢复案例

服务器数据恢复环境:P740+AIX+Sybase+V7000存储,存储阵列柜上共12块SAS机械硬盘(其中一块为热备盘)。服务器故障:存储阵列柜中有磁盘出现故障,工作人员发现后更换磁盘,新更换的磁盘...

「服务器数据恢复」重装系统导致XFS文件系统分区丢失的数据恢复

服务器数据恢复环境:DellPowerVault系列磁盘柜;用RAID卡创建的一组RAID5;分配一个LUN。服务器故障:在Linux系统层面对LUN进行分区,划分sdc1和sdc2两个分区。将sd...

服务器数据恢复-ESXi虚拟机被误删的数据恢复案例

服务器数据恢复环境:一台服务器安装的ESXi虚拟化系统,该虚拟化系统连接了多个LUN,其中一个LUN上运行了数台虚拟机,虚拟机安装WindowsServer操作系统。服务器故障&分析:管理员因误操作...

「服务器数据恢复」Raid5阵列两块硬盘亮黄灯掉线的数据恢复案例

服务器数据恢复环境:HPStorageWorks某型号存储;虚拟化平台为vmwareexsi;10块磁盘组成raid5(有1块热备盘)。服务器故障:raid5阵列中两块硬盘指示灯变黄掉线,无法读取...

服务器数据恢复—基于oracle数据库的SAP数据恢复案例

服务器存储数据恢复环境:某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。服务器存储故障&分析:该RAID5阵...

「服务器虚拟化数据恢复」Xen Server环境下数据库数据恢复案例

服务器虚拟化数据恢复环境:Dell某型号服务器;数块STAT硬盘通过raid卡组建的RAID10;XenServer服务器虚拟化系统;故障虚拟机操作系统:WindowsServer,部署Web服务...

服务器数据恢复—RAID故障导致oracle无法启动的数据恢复案例

服务器数据恢复环境:某品牌服务器中有一组由4块SAS磁盘做的RAID5磁盘阵列。该服务器操作系统为windowsserver,运行了一个单节点Oracle,数据存储为文件系统,无归档。该oracle...

服务器数据恢复—服务器磁盘阵列常见故障表现&解决方案

RAID(磁盘阵列)是一种将多块物理硬盘整合成一个虚拟存储的技术,raid模块相当于一个存储管理的中间层,上层接收并执行操作系统及文件系统的数据读写指令,下层管理数据在各个物理硬盘上的存储及读写。相对...

「服务器数据恢复」IBM某型号服务器RAID5磁盘阵列数据恢复案例

服务器数据恢复环境:IBM某型号服务器;5块SAS硬盘组成RAID5磁盘阵列;存储划分为1个LUN和3个分区:第一个分区存放windowsserver系统,第二个分区存放SQLServer数据库,...

服务器数据恢复—Zfs文件系统下误删除文件如何恢复数据?

服务器故障:一台zfs文件系统服务器,管理员误操作删除服务器上的数据。服务器数据恢复过程:1、将故障服务器所有磁盘编号后取出,硬件工程师检测所有硬盘后没有发现有磁盘存在硬件故障。以只读方式将全部磁盘做...

服务器数据恢复—Linux+raid5服务器数据恢复案例

服务器数据恢复环境:某品牌linux操作系统服务器,服务器中有4块SAS接口硬盘组建一组raid5阵列。服务器中存放的数据有数据库、办公文档、代码文件等。服务器故障&检测:服务器在运行过程中突然瘫痪,...

服务器数据恢复—Sql Server数据库数据恢复案例

服务器数据恢复环境:一台安装windowsserver操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。在windows服务器内装有SqlServer数据库。存储空间LU...

服务器数据恢复—阿里云ECS网站服务器数据恢复案例

云服务器数据恢复环境:阿里云ECS网站服务器,linux操作系统+mysql数据库。云服务器故障:在执行数据库版本更新测试时,在生产库误执行了本来应该在测试库执行的sql脚本,导致生产库部分表被tru...

取消回复欢迎 发表评论: