HTTP 常见状态码详解

HTTP常见状态码

2XX 成功状态码

客户端发起请求时,这些请求通常都是成功的。服务器有一组用来表示成功的状态码,分别对应于不同的请求。
我们主要需要记住以下几种2XX状态码应该就够用了,其他的碰到不会的,google就是万能的(对于程序员来说翻墙是必备技能哦)。
- 200 OK
服务器成功处理了请求
- 202 Accepted
请求已被接受,但是并未处理
- 204 No Content(没有内容)
Response中包含一些Header和一个状态行, 但不包括实体的主题内容(没有response body)
- 206 Partial Content(部分内容)
部分请求成功

3XX 重定向状态码

重定向状态码用来告诉浏览器客户端,它们访问的资源已被移动, Web服务器发送一个重定向状态码和一个可选的Location Header, 告诉客户端新的资源地址在哪。
浏览器客户端会自动用Location中提供的地址,重新发送新的Request。 这个过程对用户来说是透明的。
- 301 Moved Permanently(永久移除)
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URL 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。新的永久性的 URL 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。 如果这不是一个 GET 或者 HEAD 请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。
- 302 Found(已找到)
类似于301,但是新的URL被视为临时性的替代,也就是临时移除。客户端会使用Location中给出的URL,重新发送新的HTTP request
- 303 See Other(参见其他)
- 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取
- 304 Not Modified(未修改)
如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。 (其实就是缓存)

4XX客户端错误状态码

有时客户端会发送一些服务器无法处理的东西,比如格式错误的Request, 或者最常见的是请求一个不存在的URL。
- 400 Bad Request
语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求,或请求参数有误
- 401 Unauthorized
客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。
- 403 Forbidden
服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。
- 404 Not Found
请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的

5XX服务器错误状态码

有时候客户端发送了一条有效Request, Web服务器自身却出错了。 可能是Web服务器运行出错了, 或者网站都挂了。 5XX就是用来描述服务器错误的。
- 500 Internal Server Error(内部服务器错误)
服务器遇到一个错误,使其无法为请求提供服务
- 501 Not Implemented(未实现)
服务器不支持实现请求所需要的功能。例如,客户发出了一个服务器不支持的PUT请求
- 503 Service Unavailable(未能提供服务)
服务器由于维护或者负载过重未能应答。但过一段时间就可以恢复服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值