HTTP状态码分类

前言: 我们经常使用浏览器发出http请求,那么对于请求返回的状态,对于开发人员来讲,我们必须要明白其所代表的含义,如: 常见状态吗:400(请求无效),401(需要权限),500(服务器错误),

今天本人就遇到了400错误,无效请求,后来检查发现是,post请求传入的参数类型错误了:

public class TestData{

  public string ID{get;set;}

  public string Name{get;set;}

  public int SortNo{get;set;}

}

【httppost】

Public void testAction(TestData data){

//result

}

页面请求:

$http({
  url: seagull2Url.getPlatformUrl(configURL.AddNotic),
  method: 'POST',
  data: {"ID":"a","Name":"aaa","SortNo":""},
}).success(function (data) {
  if (data.state == true) {
    alert("保存成功");
  }
}).error(function (ex, state) {
  console.log(ex);
});

这里的错误就是传入的对象里的属性:SortNo原本应该传int数字,这里却给了一个空值,请求就会返回400错误。

对于400错误具体的信息,可以通过浏览器的调式功能,找出ex对象的错误属性找到详细信息。

{"message":"请求无效。","modelState":{"bannerEntity.SortNo":["Error converting value {null} to type 'System.Int32'. Path 'SortNo', line 1, position 69."]}}

正文: HTTP状态码分类

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

HTTP状态码分类

 

分类

 

分类描述

 

1**

 

信息,服务器收到请求,需要请求者继续执行操作

 

2**

 

成功,操作被成功接收并处理

 

3**

 

重定向,需要进一步的操作以完成请求

 

4**

 

客户端错误,请求包含语法错误或无法完成请求

 

5**

 

服务器错误,服务器在处理请求的过程中发生了错误

 

HTTP状态码列表:

HTTP状态码列表

 

状态码      

 

状态码英文名称

 

中文描述

 

100

 

Continue

 

继续。客户端应继续其请求

 

101

 

Switching Protocols

 

切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议

 
   

200

 

OK

 

请求成功。一般用于GET与POST请求

 

201

 

Created

 

已创建。成功请求并创建了新的资源

 

202

 

Accepted

 

已接受。已经接受请求,但未处理完成

 

203

 

Non-Authoritative Information

 

非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本

 

204

 

No Content

 

无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档

 

205

 

Reset Content

 

重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域

 

206

 

Partial Content

 

部分内容。服务器成功处理了部分GET请求

 
   

300

 

Multiple Choices

 

多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择

 

301

 

Moved Permanently

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6cec7a24e64101b232fd2038c33ab0a2.html