31. HTTP 状态码

Posted 轻前端

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了31. HTTP 状态码相关的知识,希望对你有一定的参考价值。


一天一个小技巧,小轻今天给大家介绍的是:HTTP 状态码(二)。


奉上封面图



概念介绍


Http 状态码

Http Status Code。用来表示网页服务器超文本传输协议响应状态的 3 位数字代码。

由 RFC2616 规范所定义,并得到了 RFC2518,RFC2295,RFC2774 和 RFC4918 等规范扩展。

Http 状态码的官方注册表由互联网号码分配局维护 

按照第一位数字的不同,分为了五种状态:消息、成功、重定向、请求错误、服务器错误

重定向

3 开头的状态码,最常见 304 

代表客户端需要采取进一步的操作

31. HTTP 状态码(二)
300 Multiple Choices


除非额外指定,否则这个响应也是可缓存的。


31. HTTP 状态码(二)
301 Moved Permanently

被请求的资源已经永久的移动到了新位置。不常见


除非额外指定,否则这个响应也是可缓存的。


如果不是 GET 或 HEAD 请求,浏览器将禁止自动进行重定向,除非得到用户许可。


31. HTTP 状态码(二)
302 Move Temporarily
请求的资源临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应继续向原有地址发送以后的请求。不常见

只有在 Cache-Control 或 Expires 中进行了指定的情况下,这个响应才是可缓存的。

如果不是 GET 或 HEAD 请求,浏览器将禁止自动进行重定向,除非得到用户许可。


31. HTTP 状态码(二)
303 See Other

对应当前请求的响应可以在另一个 URL 上被找到,而且应该用 GET 方式访问。不常见


本身禁止被缓存


31. HTTP 状态码(二)
304 Not Modified

客户端发送一个带条件的 GET 请求,而且该请求已被允许,而文档的内容并没有改变。很常见


最长出现在静态资源的请求上


该响应包含以下的头信息:


Date

ETag 和/或 Content-Location

Expires, Cache-Control, 和/或 Vary


31. HTTP 状态码(二)


31. HTTP 状态码(二)
305 Use Proxy

该请求必须通过指定的代理才能被访问。不常见


31. HTTP 状态码(二)
306 Switch Proxy

在最新版的规范中,306已经不再使用。不常见


31. HTTP 状态码(二)
307 Temporary Redirect

请求的资源临时从不同的 URI 响应请求。不常见


新的临时性的 RUI 应当在相应的 Location 域中返回。


如果不是 GET 或 HEAD 请求,浏览器将禁止自动进行重定向,除非得到用户许可。






请求错误

4 开头的状态码,最知名 404,400,401

代表客户端发生了错误

31. HTTP 状态码(二)
400 Bad Request

语义错误,无法被服务器理解。除非修改,否则客户端不应该重复提交这个请求。很常见


请求的参数有误


31. HTTP 状态码(二)
401 Unauthorized

用户验证失败。很常见


一般代表用户 Authorization 不正确,服务器验证拒绝


31. HTTP 状态码(二)
402 Payment Required

预留。不常见


31. HTTP 状态码(二)
403 Forbidden

服务已经理解请求,但是拒绝执行。常见


31. HTTP 状态码(二)
404 Not Found

请求失败,请求所希望得到的资源没有在服务器上发现。常见


31. HTTP 状态码(二)
405 Method Not Allowed

请求行中指定的请求方法不能被用于请求响应的资源。常见


1、使用了错误的请求方法,例如用 GET 请求 POST 资源


2、鉴于 PUT,DELETE 方法会对服务器上的资源进行读写,因而绝大部分服务器都不支持或在默认配置下不允许,对于这类请求也会返回 405 错误


31. HTTP 状态码(二)
406 Not Acceptable

请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。常见




31. HTTP 状态码(二)
407 Proxy Authentication Required

与 401 类似,只不过客户端必须在代理服务器上进行身份验证。常见


代理服务器必须返回一个 Proxy-Authenticate 用以进行身份询问。


31. HTTP 状态码(二)
408 Request Timeout

请求超时。较常见


客户端没有在服务器预备等待的时间内完成一个请求的发送。


客户端可以随时再次提交这一请求而无需进行任何更改


31. HTTP 状态码(二)
409 Conflict

由于和被请求的资源的当前状态之间存在冲突,请求无法完成。不常见


冲突通常发生于对 PUT 请求的处理中。


31. HTTP 状态码(二)
410 Gone



410 响应的目的主要是帮助网站管理员维护网站,通知用户该资源已经不再可用。


未完待续



快乐分享

如果你觉得快乐的,请分享给你的朋友哦~

   


笔者联系方式

如有特殊需要(想分享自己的图片等),请发送邮件至我们的邮箱

light.front_end@outlook.com

我们的工作人员会在第一时间联系您。

以上是关于31. HTTP 状态码的主要内容,如果未能解决你的问题,请参考以下文章

如何定义登录和注销的HTTP方法和状态码?

使用状态码 405 获取 org.apache.camel.component.http.HttpOperationFailedException

HTTP状态码都有哪些?是啥意思

常见HTTP状态码汇总说明

如何使用 Alamofire 读取错误请求的 json 数据(状态码 400)

http状态码分类以及常见状态码分析