HTTP状态码

简介

HTTP状态码是表示网页服务器超文本传输协议响应状态的code

在HTTP协议中,客户端发出请求连接、服务端建立连接,客户端发出HTTP请求,服务端返回响应信息,在这个过程中,由于客户端或服务端的问题会返回响应的错误代码,不同代码表示不同的信息,客户端可以根据编码、调整响应操作来修改出现的错误,最终避免错误的出现。

在渗透测试或者SRC挖掘中会经常和HTTP状态码打交道,所以了解每一种状态码是什么含义也

分类

  • 1xx - 信息性

    • 表示接收的请求正在处理
  • 2XX - 成功

    • 表示请求正常处理完毕
  • 3XX - 重定向

    • 需要后续操作才能完成这一请求
  • 4XX - 客户端错误

    • 表示请求包含语法错误或无法完成
  • 5XX - 服务器错误

    • 服务器在处理请求的过程中发生了错误

常见状态码详细介绍

状态码 描述 解释
100 Continue 服务器仅收到部分请求,但服务器并未拒绝该请求,客户端应继续发送其余的请求
101 Switching Protocols 服务器切换协议:服务器将遵从客户端的请求转换到另一种协议
200 OK 请求成功。一般用于GET或POST请求
202 Accepted 已接受。已接受请求,但未处理完成
301 Moved Permanently 永久移动。请求的资源已永久转移到新URI。返回信息会包括新的URI
302 Found 临时移动。请求临时转移到新地址。返回新地址
304 Not Modified 未按预期修改文档。客户端有缓存的文档并发出了一个条件性的请求。服务器告诉客户端,原来缓存的文档可以继续使用
400 Bad Request 请求有错误,如语法错误导致服务器无法理解、或参数错误
401 Unanthorized 请求授权失败,需要进行用户认证。客户端可再次发起请求、并在请求头中提供一个包含认证证书、如会话跟踪Cookie
403 Forbidden 请求被禁止、超出访问权限。与401不同,请求已经通过了身份验证,只是没有获得资源授权
404 Not Found 服务器无法找到被请求的资源
405 Method Not Allowed 请求中指定的方法不被允许
499 Client Has Closed Connection 客户端主动关闭请求或客户端网络断掉时,由 nginx 记录499状态码
500 Internal Server Error 请求未完成。服务器内部遇到不可预知的错误
502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应,或有时是为了防止发生系统过载中断请求,如网关层发现服务端无响应、直接熔断
503 Service Unavailable 请求未完成。服务端因压力过大或宕机导致不可用
504 Gateway Timeout 网关超时,可能是网关过载、或上游服务一直未响应