http Response状态码

一 各个区段的状态码的作用

-1xx :报告的 -请求被接收到,继续处理

-2xx :成功 - 被成功地接收(received),理解(understood),接受(accepted)的动作 。

-3xx :重发 - 为了完成请求必须采取进一步的动作。

-4xx :客户端出错 - 请求包括错的语法或不能被满足。

-5xx :服务器出错 - 服务器无法完成显然有效的请求

二 详细的介绍常见的状态码

1xx系列

"100" : 继续

"101" : 转换协议

2xx系列:

"200" : OK

此状态码指明客户端请求已经成功了。响应返回的信息依赖于请求里的方法,例如:

GET 请求资源的相应的实体已经包含在响应里并返回给客户端。

HEAD 相应于请求资源实体的实体头域已经被包含在无消息主体的响应里。

POST 响应里已经包含一个实体,此实体描述或者包含此POST动作执行的结果。

"201" : (Created)已创建

请求已经被服务器处理了,并且已经产生了一个新的资源。新创建的资源的URI在响应的实体里返回,但是此资源最精确的URI是在Location头域里给出的。响应应该含有一实体,此实体包含此资源的特性和位置,用户或用户代理能从这些特性和位置里选择最合适的。实体格式被Content-Type头域里媒体类型指定。源服务器必须能在返回201状态码之前建立资源。一个201响应可以包含一个ETag响应头域,此头域的值指明了当前请求变量(特定表现形式的资源),也即刚刚创建的资源的实体标签(entity tag)值。

"202" :  (Accepted)接受

请求已经被接受去处理,但是还没有处理完成。请求可能会或者不会处理完成,因为存在当处理的过程中拒绝处理的情况。

"203" : 非权威信息

"204" : (No Content)无内容

服务器已经满足了请求但并没有返回一个实体而是返回更新的元信息。204状态响应主要的目的是允许输入,而不必引起用户代理当前文档视图的改变,尽管一些新的或更新了的元信息可能会应用于用户代理视图里的当前文档。

"205" : 重置内容

"206" :(Partial Content) 部分内容

服务器已经完成了客户端对资源的部分GET请求。请求必须包含一个Range头域用来指出想要的范围,并且也有可能包含一个If-Range头域来使请求成为一个条件请求。

3xx系列:

"300" : (Multiple Choices)多个选择

请求资源对应于该资源众多表现形式中的一个,每个表现形式都有一个特定的位置(location),并且代理驱动协商(agent-driven negotiation)信息被提供以便用户(或用户代理)能选择一个更合适的表现形式并重定向它的请求到那个表现形式的位置。

"301" : (Moved Permanently)永久移动,永久的重定向

请求资源被赋于一个新的永久的URI,并且任何将来对此资源的引用都会利用此301状态响应。新的永久URI应该在响应中被Location头域给定。除非请求方法是HEAD,否则此响应应该包含一个超文本提示和一个指向新URI的超文本链接。如果客户端接收了一个来自非GET或HEAD请求方法的301响应,那么用户代理不能自动重定向请求除非它能被用户确认,因为这可能会改变请求提交的条件。

"302" : (Found)发现

请求的资源暂时地存放在一个不同的URI下。因为重定向的地址可能有时会被改变,客户端应该继续为将来的请求利用请求URI(Request-URI)。302响应是只有在Cache-Control或Expires头域指明的情况下才能被缓存。临时的URI应该在Location头域里指定。除非请求方法是HEAD,否则此响应应该包含一个超文本提示和一个指向新URI的超文本链接。如果客户端接收了一个来自非GET或HEAD请求方法的302响应,那么用户代理不能自动重定向请求除非它能被用户确认,因为这可能会改变请求提交的条件。

"303": (See Other)见其它,临时重定向

请求的响应被放在一个不同的URI下,并且应该用GET方法获得那个资源。它的主要目的是响应一个POST请求通过指引client访问一个资源。不同的URI应该在Location头域里指定。除非请求方法是HEAD,否则此响应应该包含一个超文本提示和一个指向新URI的超文本链接。

"304" : (Not Modified)没有被改变

如果客户端已经执行了条件GET请求,并且访问服务器的资源是允许的,但是服务器上的文档并没有被改变,那么服务器应该以此状态码响应。304响应不能包含一个消息主体(messagebody),并且在头域后面总是以一个空行结束。

"305" : (Use Proxy)使用代理

请求资源必须能通过代理访问,代理的地址在响应的Location头域里指定。Location头域指定了代理的URI。接收者被期望通过代理重试此请求,305响应必须被源服务器产生。

"307": (Temporary Redirect)临时重发

请求的资源临时存在于一个不同的URI下。由于新的URI可能有时会改变,所以客户端应该继续利用此请求URI(Request-URI)为将来的请求。307响应只有被Cache-Control或Expire头域指明时才能被缓存。临时URI应该在响应的Location头域里给定。否则此响应应该包含一个超文本提示和一个指向新URI的超文本链接,因为许多HTTP/1.1以前的用户代理不能理解307状态响应。因此,此提示应该包含用户在新的URI上重试原始请求的必需信息。如果307状态响应.对应的请求的方法不是GET或HEAD,那么用户代理不能自动重定向此请求除非它能被用户确认,因为因为这可能会改变请求提交的条件。

4xx系列:

 "400": 坏的请求

请求不能被服务器理解,由于错误的语法。客户端不应该在没有改变请求的情况下重试请求

 "401":  未授权的

服务器需要对请求进行用户认证

"403":(Forbidden)禁用

服务器理解此请求,但拒绝满足此请求。认证是没有作用的,并且请求不应该被重试。如果请求方法是HEAD并且服务器想让客户端知道请求为什么不能被满足,那么服务器起应该在响应实体里描述此拒绝的原因。如果服务器不希望告诉客户端拒绝的原因,那么404 状态码(NotFound)响应将被使用。

 "404": 请求的资源不存在

服务器并没有找到任何可以匹配请求URI 的资源,此状态码通常被使用,当服务器不希望精确指出请求为何被拒绝,或者当没有任何其它响应可用时。

 "405": 请求的资源是存在的,但该资源不支持该请求方法

 "406" : 不接受的

 "407" : 需要代理验证

 "408" : 请求超时

 "409" : 冲突

 "410" : 不存在

 "411" : 长度必需

 "412" :先决条件失败

 "413" : 请求实体太大

 "414" : 请求URI太大

 "415" : 不被支持的媒体类型

 "416" : 请求的范围不满足

 "417" : 期望失败

5xx系列:

"500" :(Internal Server Error) 服务器内部错误

服务器遇到了一个意外条件,此条件阻止服务器满足此请求。

501:(Not Implemented)服务器不能识别该请求方法或服务器暂未实现方法

服务器没有能力去满足请求。当服务器不能识别请求方法并且不支持它请求资源的时候,这个响应是很合适的。

"502" : (Bad Gateway)坏网关

此响应说明:作为网关或代理的服务器从上游(upstream)服务器接收了一个无效的响应。

"503" :(Service Unavailable) 服务不能获得

由于服务器暂时地过载或维护,服务器不能处理请求

"504": (Gateway Timeout)网关超时

作为网关或代理的服务器在不能及时地接收一个从URI指定的上游(upstream)服务器(例如:HTTP,FTP,LDAP服务器)或者其他的辅助性服务器(例如:DNS服务器)的响应

"505" : HTTP版本不支持

三 301,302,303,307的区别

301永久重定向,302,303,307都表示非永久的重定向,他们之间的区别主要和http client版本相关。http/1.0版本的http client 发送一个POST请求,当收到http/1.0版本的服务器的302响应码时,将以GET请求Location中的url而不是继续使用POST。http/1.1通过303实现了http/1.0中的同样的功能。303对于http/1.0来说是不可见的。http/1.1中的307则是用来替代302的,当http client为http/1.0时就响应302,当为http/1.1时就响应307.302,303,307功能是一样的,主要是为了解决兼容性才这样设计的吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容

  • HTTP状态码(HTTP Status Code)表示http服务器对与请求HTTP响应状态的3位数字代码。它由 ...
    BeeNoisy阅读 1,790评论 0 8
  • 1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信...
    执着的小蛋挞阅读 153评论 0 0
  • HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。 消息(1字...
    iDeaLoO阅读 312评论 0 1
  • 1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信...
    问题饿阅读 140评论 0 1