关于响应的HTTP状态码

WEB后端服务开发中,经常会遇到回传HTTP状态码的些许困惑。HTTP状态码大致是这样约定的:

信息响应 (100--199)

成功响应 (200--299)

重定向消息 (300--399)

客户端错误响应 (400--499)

服务端错误响应 (500--599)

按说我们web开发要遵循定义规范,那么是否要在每一个响应中包含相应的状态码信息呢,其实也不是。我个人是这样考虑的,如果前端是浏览器来直接处理响应:比如访问链接,form提交等,那么后端应返回跟标准定义相符的HTTP状态码,这样浏览器不会有理解偏差。

javascript 复制代码
res.status(404).json({ error: '凭据无效' });

如果是由ajax/jquery/axios来提交申请并处理响应,那么只要前后端约定一致,后端返回状态码不一定要严格与HTTP状态码定义一致,甚至不用状态码而使用返回的数据中的特定属性参数来传反馈信息都是可以的,这样其实还能更准确个性化地将更完整丰富的信息传递给前端。

javascript 复制代码
res.json({"code":404,"msg":"凭据无效"});
javascript 复制代码
axios.post("/app/call").then(res=>{
	if (res.data.code!=200) return alert(res.data.msg);
	...
相关推荐
supersolon7 分钟前
Windows下WSL(Ubuntu24.04)安装Nodejs
linux·ubuntu·node.js
Darkdreams9 分钟前
SpringBoot项目集成ONLYOFFICE
java·spring boot·后端
北寻北爱14 分钟前
vue2和vue3使用less和scss
前端·less·scss
bropro27 分钟前
【Spring Boot】Spring AOP中的环绕通知
spring boot·后端·spring
lhbian27 分钟前
【Spring Cloud Alibaba】基于Spring Boot 3.x 搭建教程
java·spring boot·后端
IT_陈寒41 分钟前
Redis性能提升3倍的5个冷门技巧,90%开发者都不知道!
前端·人工智能·后端
LucianaiB42 分钟前
OpenClaw 安装后必看!你真的会科学养虾吗?第1天和第47天的Openclaw有什么区别?
后端
雨雨雨雨雨别下啦1 小时前
Vue案例——面经
前端·javascript·vue.js
oo121381 小时前
里程碑5 - 完成框架 npm 包抽象封装并发布
前端·npm
达拉1 小时前
我花了三天用AI写了个上一代前端构建工具
前端·前端工程化