跳转常规 -- 为什么不要使用404、500等http状态码作为业务代码响应

不要使用HTTP状态码作为业务代码响应

HTTP状态码

是指浏览器访问网址,成功或异常时浏览器或服务器告知用户的代码数字,它指的是网络或服务器的状态,有着不同的含义。
参加MDNJava Api,常见的状态码:

  • 200 OK 请求成功
  • 301 重定向
  • 400 错误请求
  • 401 需要访问授权,通常是basic授权
  • 403 禁止访问该地址
  • 404 访问地址不存在
  • 500 服务器异常

    业务代码

    业务代码是业务流程中可能产生的结果,比如:用户密码不正确、用户不存在、订单不存在、第三方api请求错误等。

    Restful Api

    有些人喜欢使用HTTP代码作为业务代码作为restful的响应结果,如用200表示业务返回成功,用404表示用户不存在,用500作为sql查询异常。

    为什么不要这么做

  • 前端每次请求,可能产生的问题包括网络问题、服务器问题和业务逻辑问题,HTTP状态码表示网络传输的意义,如200只应该表示连接上了服务器,而不应该用来表示业务逻辑返回成功。HTTP状态码应该用于网络问题和服务器问题判断的依据,不应该阉割这部分的功能
  • 返回除200以外的状态码,前端需要作为额外的处理以及浏览器的额外处理

原文地址:https://www.cnblogs.com/loveheihei/p/11044541.html

时间: 2024-11-04 10:26:32

跳转常规 -- 为什么不要使用404、500等http状态码作为业务代码响应的相关文章

ASP.NET设置404页面返回302HTTP状态码的解决方法

在配置文件中配置404页面如下: .代码如下: <customErrors mode="On" defaultRedirect="404.aspx"> <error statusCode="403" redirect="404.aspx" /> <error statusCode="404" redirect="404.aspx" /> <err

http协议的状态码 200、301、304、404、502 HTTP状态码解释

在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置不正常,导致了google管理员工具无法验证的情况,当然,影响的不仅仅是这一方面,影响的更是网站的整体浏览效果.因此,比较清楚详细的了解http状态码的具体含义,对于一个网站站长来说,这是很有必要俱备的网站制作基础条件. 如果某项请求发送到您的服务器要求显示您网站上的某个网页(例如

404、502、500等HTTP状态码

HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 401.2 – 未授权:服务器配置问题导致登录失败HTTP 401.3 – ACL 禁止访问资源HTTP 401.4 – 未授权:授权被筛选器拒绝HTTP 401.5 – 未授权:ISAPI 或 CGI 授权失败 HTTP 403 – 禁止访问HTTP 403 – 对 Internet 服务管理器 的访问仅限于 LocalhostHTTP 403.1 禁止访问:禁止可执行访问HTTP 403.2 – 禁止访问:禁止

http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码

http协议的状态码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换. 2xx(成功) 表示成功处理了请求的状态码. 200(成功) 服务器已成功处理了请求.通常,这表示服务器提供了请求的网页.如果是对您的 robots.txt 文件显示此状态码,则表示 Googlebot 已成功检索到该文件. 201(

常见HTTP状态码(200、301、302、500等)解说

对网站管理工作者来说有个词不陌生,HTTP状态码,它是用以表示网页服务器HTTP响应状态的3位数字代码.状态码的第一个数字代表了响应的五种状态之一. 1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理.由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应. 2XX系列:代表请求已成功被服务器接收.理解.并接受.这系列中最常见的有200.201状态码. 200状态码:表示请求已成功,请求所希望的响应头或数

常见HTTP状态码(200、301、302、500等)

HTTP状态码,它是用以表示网页服务器HTTP响应状态的3位数字代码.状态码的第一个数字代表了响应的五种状态之一. 1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理.由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应. 2XX系列:代表请求已成功被服务器接收.理解.并接受.这系列中最常见的有200.201状态码. 200状态码:表示请求已成功,请求所希望的响应头或数据体将随此响应返回 201状态码:

nginx设置404 500页面跳转至首页,K哥

2015.9.29 开发找我说网站要设置个页面跳转 nginx设置404 500页面跳转至首页 什么是404页面? 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是NGINX服务器,那么404页面的内容则为:404 Not Found 为什么要自定义404页面? 在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄

C# MVC模式 404 500页面设置方法

<customErrors mode="On" defaultRedirect="Controllers/Action"> <error statusCode="403" redirect="Controllers/Action" /> <error statusCode="404" redirect="Controllers/Action" /> &

。404,500等状态码集锦

一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 500 - 服务器遇到错误,无法完成请求 503 - 服务器超时 下面提供 HTTP 状态码的完整列表.点击链接可了解详情.您也可以访问 HTTP 状态码上的 W3C 页获取更多信息. 一.临时响应 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续)请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101(切换协议)请求者已要求服务器切换协议,服