常见的一些 HTTP状态码 404 502 503
本文知识点基本来自于维基百科 https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81
这儿也有一些内容https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
论阅读的舒服程度还是维基百科的看起来舒服些
大概分类
- 1xx 代表某个消息 ,一般意思就是请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束,一般来说只有在一些试验条件下,服务器才会发送 1 开头的状态码,平时基本见不到
- 2xx 代表本次请求成功,请求已成功被服务器接收、理解、并接受。其中 200 是我们比较常见的
- 3xx 重定向,代表需要客户端采取进一步的操作才能完成请求。通常,重定向后续的请求地址(重定向目标)在本次响应的Location域中指明。按照HTTP/1.0版规范的建议,浏览器不应自动访问超过5次的重定向,这个一般有见到,但是比较少见
- 4xx 客户端错误,代表了客户端看起来可能发生了错误,妨碍了服务器的处理,十分常见。如果错误发生时客户端正在传送数据,那么使用TCP的服务器实现应当仔细确保在关闭客户端与服务器之间的连接之前,客户端已经收到了包含错误信息的数据包。如果客户端在收到错误信息后继续向服务器发送数据,服务器的TCP栈将向客户端发送一个重置数据包,以清除该客户端所有还未识别的输入缓冲,以免这些数据被服务器上的应用程序读取并干扰后者。
- 5xx 服务器错误 ,表示服务器无法完成明显有效的请求。服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理,这类型的状态码也十分常见
200 ok
请求已成功,请求所希望的响应头或数据体将随此响应返回。实际的响应将取决于所使用的请求方法。在GET请求中,响应将包含与请求的资源相对应的实体。在POST请求中,响应将包含描述或操作结果的实体。
400 Bad Request
由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。
403 Forbidden
服务器已经理解请求,但是拒绝执行它。如果服务器能够讲清楚为何请求不能被执行,那么会在实体内描述拒绝的原因,当然,如果服务器不希望让客户端获得任何信息,就直接给你一个 404
404 Not Found
请求失败,请求所希望得到的资源未被在服务器上发现,但允许用户的后续请求。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。
500 Internal Server Error
通用错误消息,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。没有给出具体错误信息。
501 Not Implemented
服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。(例如,网络服务API的新功能)
502 Bad Gateway
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
503 Service Unavailable
由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是暂时的,并且将在一段时间以后恢复,如果能够预计延迟时间,那么响应中可以包含一个Retry-After头用以标明这个延迟时间。如果没有给出这个Retry-After信息,那么客户端应当以处理500响应的方式处理它。
504 Gateway Timeout
作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。
注意:某些代理服务器在DNS查询超时时会返回400或者500错误。
505 HTTP Version Not Supported
服务器不支持,或者拒绝支持在请求中使用的HTTP版本。[64]这暗示着服务器不能或不愿使用与客户端相同的版本。响应中应当包含一个描述了为何版本不被支持以及服务器支持哪些协议的实体。