服务器返回的14种常见HTTP状态码当我们从客户端向服务器发送请求时
服务器向我们返回状态码
状态码就是告诉我们服务器响应的状态
通过它,我们就可以知道当前请求是成功了还是出现了什么问题
状态码是由3位数字和原因短语组成的(⽐如最常见的:200 OK)
其中第⼀位数字表⽰响应类别,响应类别从1到5分为五种
add:其实我查阅资料发现还有⼀个6打头的⼀个 600 Unparseable Response Headers
表⽰服务器没有返回响应头部,只返回实体内容,也算做服务器错误状态码吧,不过绝对不常见
状态码响应类别原因短语
1XX信息性状态码(Informational)服务器正在处理请求
2XX成功状态码(Success)请求已正常处理完毕
3XX重定向状态码(Redirection)需要进⾏额外操作以完成请求
4XX客户端错误状态码(Client Error)客户端原因导致服务器⽆法处理请求
5XX服务器错误状态码(Server Error)服务器原因导致处理请求出错
状态码响应类别的的定义是必须遵守的,后⾯的两个数字服务器⾃⼰DIY也没什么问题
RFC2616(⽤来指定HTTP协议标准的⽂档)标准定义的就有四⼗多种,加上扩展能达到六⼗种
不过常见的⼤概只有⼗四种,下⾯我来谈谈这些有代表性的14种HTTP状态码
2XX 成功
200 OK
表⽰请求被服务器正常处理
最常见的就是这个了
随着这个状态码返回的信息跟你的请求⽅法有关
⽐如GET请求,请求的资源会作为响应实体返回
⽽HEAD请求,信息只存在于响应报⽂⾸部,因为它不会返回报⽂实体,只返回报⽂⾸部
11月再见12月你好图片
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⾸部字段返回
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论