服务器返回的14种常见HTTP状态码及解决思路

当前端同学需要向后端同学请求接口的时候,我们经常碰到各种奇葩的报错,我把经常遇到的问题总结了下,希望下次不会在相同的问题上碰壁。

状态码 响应类别 原因短语
1XX 信息性状态码(Informational) 服务器正在处理请求
2XX 成功状态码(Success) 请求已正常处理完毕
3XX 重定向状态码(Redirection) 需要进行额外操作以完成请求
4XX 客户端错误状态码(Client Error) 客户端原因导致服务器无法处理请求
5XX 服务器错误状态码(Server Error) 服务器原因导致处理请求出错

状态码响应类别的的定义是必须遵守的,后面的两个数字服务器自己DIY也没什么问题,RFC2616(用来指定HTTP协议标准的文档)标准定义的就有四十多种,加上扩展能达到六十种,不过常见的大概只有十四种,下面我来谈谈这些有代表性的14种HTTP状态码。

2XX 成功
200 OK

表示请求被服务器正常处理,随着这个状态码返回的信息跟你的请求方法有关,比如GET请求,请求的资源会作为响应实体返回,而HEAD请求,信息只存在于响应报文首部,因为它不会返回报文实体,只返回报文首部。

204 No Content

表示请求已成功处理,但是没有内容返回(就应该没有内容返回的状况),也就是返回的响应报文中没有报文实体(其实是没有报文实体的主体部分),浏览器向服务器发送请求后收到了204,那么浏览器页面不会发生更新,一般用在只是客户端向服务器发送信息,而服务器不用向客户端返回什么信息的情况。

206 Partial Content

表示服务器已经完成了部分GET请求(客户端进行了范围请求),响应报文中包含Content-Range指定范围的实体内容。

3XX 重定向
301 Moved Permanently

永久重定向,表示请求的资源已经永久的搬到了其他位置,就是说资源已经被分配了新的URI,新的URI应该提示在响应报文的Location首部字段,只要不是HEAD请求,响应实体应该包含新URI的超链接和简短的说明。

302 Found

临时重定向,表示请求的资源临时搬到了其他位置,请求的资源暂时被配到到了新的URI,和301很像,只不过资源是临时移动,资源在将来可能还会改变,同样地,新的临时URI应该提示在响应报文的Location首部字段,只要不是HEAD请求,响应实体应该包含新URI的超链接和简短的说明。

303 See Other

表示请求资源存在另一个URI,应使用GET定向获取请求资源,303功能与302一样,区别只是303明确客户端应该使用GET访问(很多HTTP/1.1之前的浏览器不能理解303,但是大家都把302当303对待,使用GET请求新URI)

304 Not Modified

表示客户端发送附带条件的请求(GET方法请求报文中的IF…)时,条件不满足返回304时,不包含任何响应主体,虽然304被划分在3XX,但和重定向一毛钱关系都没有。

307 Temporary Redirect

临时重定向,和302有着相同含义,尽管302标准禁止POST变为GET,但没人听他的,而307就会遵照标准,不会从POST变为GET,但处理响应行为,各个浏览器可能不同。

4XX 客户端错误
400 Bad Request

表示请求报文存在语法错误或参数错误,服务器不理解,服务器不应该重复提交这个请求,需要修改请求内容后再次发送。

401 Unauthorized

表示发送的请求需要有HTTP认证信息或者是认证失败了,返回401的响应必须包含一个适用于被请求资源的WWW-Authenticate首部以质询用户信息,浏览器初次接受401时,会弹出认证窗口。

403 Forbidden

表示对请求资源的访问被服务器拒绝了,服务器可以对此作出解释,也可以不解释,想说明的话可以在响应实体的主体部分描述原因,比如说你可能没有访问权限。

404 Not Found

表示服务器找不到你请求的资源,也有可能服务器就是不想给你然后骗你找不到(⊙?⊙),而且大多服务器都是这么玩这个状态码的

5XX 服务器错误
500 Internal Server Error

表示服务器执行请求的时候出错了,可能是Web应用有bug或临时故障,更有可能是服务器源代码有bug…

503 Service Unavailable

表示服务器超负载或正?;ぃ薹ù砬肭?,如果服务器知道还需要多长时间,就写入Retry-After首部字段返回。

总结

返回的状态码和状态不一致的情况是有可能发生的,比如Web应用程序内部错误,但仍然返回 200 OK

  • 200 OK
    请求正常处理完毕
  • 204 No Content
    请求成功处理,没有实体的主体返回
  • 206 Partial Content
    GET范围请求已成功处理
  • 301 Moved Permanently
    永久重定向,资源已永久分配新URI
  • 302 Found
    临时重定向,资源已临时分配新URI
  • 303 See Other
    临时重定向,期望使用GET定向获取
  • 304 Not Modified
    发送的附带条件请求未满足
  • 307 Temporary Redirect
    临时重定向,POST不会变成GET
  • 400 Bad Request
    请求报文语法错误或参数错误
  • 401 Unauthorized
    需要通过HTTP认证,或认证失败
  • 403 Forbidden
    请求资源被拒绝
  • 404 Not Found
    无法找到请求资源(服务器无理由拒绝)
  • 500 Internal Server Error
    服务器故障或Web应用故障
  • 503 Service Unavailable
    服务器超负载或?;?/li>
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容

  • HTTP状态码(HTTP Status Code)表示http服务器对与请求HTTP响应状态的3位数字代码。它由 ...
    BeeNoisy阅读 1,782评论 0 8
  • HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。有些 App...
    咖啡绿茶1991阅读 2,214评论 0 7
  • 1. 网络基础TCP/IP HTTP基于TCP/IP协议族,HTTP属于它内部的一个子集。 把互联网相关联的协议集...
    yozosann阅读 3,441评论 0 20
  • HTTP状态码的分类 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的...
    薄凉_简书阅读 566评论 0 1
  • 一、龙凤胎, 二、一失足成千古恨, 三、依山傍水, 四、两棵竹子一般高, 五、夕阳红, ( 或夕阳无限好,只是近...
    贯华阅读 471评论 4 2