首页 > 其他分享 >如何自定义HTTP 状态响应码(response code)

如何自定义HTTP 状态响应码(response code)

时间:2022-11-01 11:31:07浏览次数:82  
标签:状态 code HTTP 自定义 响应 myCode


一、什么是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)

方法。 
四、自定义状态码的应用 

Javascript代码 

 

ajaxError(function(event,xhr,options.exc){  
if(xhr.status=='601'){
dosomething();
}
});

 

标签:状态,code,HTTP,自定义,响应,myCode
From: https://blog.51cto.com/u_13351110/5812945

相关文章

  • LeetCode 236. 二叉树的最近公共祖先 - 回溯的理解
    题目https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/思路自己做只摸到一些门道,还是靠随想录...代码:deflowestCommonAncestor(self,root:'......
  • node 如何让一个端口同时支持 http 与 https
    node如何让一个端口同时支持http与https/**让8080端口同时支持http与https*/varnet=require('net');varhttp=require('http');varhttps=requ......
  • LeetCode_144_二叉树的前序遍历
    题目描述:给定一个二叉树,返回它的前序遍历。示例:输入:[1,null,2,3]1\2/3输出:[1,2,3]进阶:递归算法很简单,你可以通过迭代算法完成吗?递归的写法......
  • LeetCode_572_另一个树的子树
    题目描述:给定两个非空二叉树s和t,检验s中是否包含和t具有相同结构和节点值的子树。s的一个子树包括s的一个节点和这个节点的所有子孙。s也可以看做它自身的一棵子......
  • LeetCode_617_合并二叉树
    题目描述:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他......
  • LeetCode_637_二叉树的层平均值
    题目描述:给定一个非空二叉树,返回一个由每层节点平均值组成的数组.示例1:输入:3/\920/\157输出:[3,14.5,11]解释:第0层的平均值是3,第1层......
  • LeetCode_653_两数之和 IV - 输入 BST
    题目描述:给定一个二叉搜索树和一个目标结果,如果BST中存在两个元素且它们的和等于给定的目标结果,则返回true。案例1:输入:5/\36/\\247Target=......
  • LeetCode_16. 最接近的三数之和
    题目描述:给定一个包括n个整数的数组nums和一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案......
  • LeetCode_669_修剪二叉搜索树
    题目描述:给定一个二叉搜索树,同时给定最小边界L和最大边界R。通过修剪二叉搜索树,使得所有节点的值在[L,R]中(R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的......
  • unity3d:xlua 加载自定义Loader
    在xLua加自定义loader是很简单的,只涉及到一个接口:publicdelegatebyte[]CustomLoader(refstringfilepath);publicvoidLuaEnv.AddLoader(CustomLoaderloader)通过A......