如何自定义HTTP 状态响应码

一、什么是HTTP 状态响应码/都有哪些状态响应码?

  来自于Mozilla基金会网站的关于HTTP状态码的文章( https://developer.mozilla.org/zh-TW/docs/HTTP/Response_codes)指出HTTP状态码分为5大类,分别代表:

1xx  信息化响应 (ps: http1.1之前是保留区段,HTTP1.1规定了2项)

2xx  成功响应

3xx  重定向消息

4xx  客户端错误

5xx  服务器端错误


二、为什么要自定义状态响应码?

   既然HTTP规范已经定义了这么多状态响应码,我们自定义状态响应码有什么用处呢?

目前HTTP规范定义的响应码,各大应用服务器和浏览器厂家都已经实现了这些内容,可以根据请求响应的不同结果返回不同的状态码,浏览器接收到这些状态码后也会做出响应的动作和操作。

我们可以通过自定义的状态响应码,对系统做一下通用的提示,例如当发生某一类问题时,可以通过状态响应码,由系统底层统一给出提示。另外,ajax请求也可以自定义响应码,前端进行判断后进行不同的处理。


三、自定义状态码的实现


Java代码


int myCode=601;  

response.setResponseCode(myCode);  

request.setAttribute("javax.servlet.error.status_code",myCode);


如果使用了spring框架,也可继承SimpleMappingExceptionResolver,调用它的


Java代码


applyStatusCodeIfPossible(requset,response,code)


方法。

四、自定义状态码的应用


java script代码



登录后复制

ajaxError(function(event,xhr,options.exc){  

  if(xhr.status=='601'){  

   dosomething();  

  }  

});


国内免备案VPS301跳转服务器国内免备案服务器域名被墙跳转301,绕过信息安全中心不放违反法律法规内容!(北京免备案 镇江免备案 江苏免备案 辽宁免备案vps 山东联通免备案
 
在线咨询