Skip to content

HTTP 响应状态码

当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。

下面是常见的 HTTP 状态码:

  • 1xx(信息性状态码):表示接收的请求正在处理。
  • 2xx(成功状态码):表示请求正常处理完毕。
  • 3xx(重定向状态码):需要后续操作才能完成这一请求。
  • 4xx(客户端错误状态码):表示请求包含语法错误或无法完成。
  • 5xx(服务器错误状态码):服务器在处理请求的过程中发生了错误。

状态码列表:

typescript
export declare enum HttpStatus {
    CONTINUE = 100,//客户端应继续其请求。
    SWITCHING_PROTOCOLS = 101,//服务器根据客户端的请求切换协议。例如,升级到WebSocket协议。
    PROCESSING = 102,//服务器已接受请求,但尚未处理。
    EARLYHINTS = 103,//用于在最终响应之前向客户端发送一些响应头。
  
    OK = 200,//请求成功。
    CREATED = 201,//请求已成功,并因此创建了一个新的资源。
    ACCEPTED = 202,//请求已接受,但尚未处理。
    NON_AUTHORITATIVE_INFORMATION = 203,//返回的信息来自非原始服务器,可能是缓存的响应。
    NO_CONTENT = 204,//请求成功,但响应不包含任何内容。
    RESET_CONTENT = 205,//请求已成功,且客户端应重置其文档视图。
    PARTIAL_CONTENT = 206,//服务器成功处理了部分GET请求。

    AMBIGUOUS = 300,//请求的资源有多个可能的响应位置
    MOVED_PERMANENTLY = 301,//请求的资源已永久移动到新的URI。
    FOUND = 302,//请求的资源临时从不同的URI响应请求。
    SEE_OTHER = 303,//表示应使用GET方法重定向到另一个URI。
    NOT_MODIFIED = 304,//资源自上次请求后未修改。
    TEMPORARY_REDIRECT = 307,//请求的资源临时从不同的URI响应请求,但必须使用相同的请求方法
    PERMANENT_REDIRECT = 308,//请求的资源已永久移动到新的URI,且必须使用相同的请求方法。
  
    BAD_REQUEST = 400,//服务器无法理解请求的格式。
    UNAUTHORIZED = 401,//请求需要进行身份验证。
    PAYMENT_REQUIRED = 402,//(保留未使用)
    FORBIDDEN = 403,//服务器拒绝请求
    NOT_FOUND = 404, //请求的资源不存在
    METHOD_NOT_ALLOWED = 405, //请求方法不被允许。
    NOT_ACCEPTABLE = 406,//无法根据客户端请求的内容特性完成请求
    PROXY_AUTHENTICATION_REQUIRED = 407,//请求需要通过代理身份验证
    REQUEST_TIMEOUT = 408,//服务器等待客户端发送请求的时间过长。
    CONFLICT = 409,//请求与当前服务器状态冲突。
    GONE = 410, //请求的资源已永久删除
    LENGTH_REQUIRED = 411,//服务器拒绝接受没有Content-Length头的请求
    PRECONDITION_FAILED = 412,//请求未满足前提条件。
    PAYLOAD_TOO_LARGE = 413,//请求实体过大。
    URI_TOO_LONG = 414,//请求的URI过长
    UNSUPPORTED_MEDIA_TYPE = 415,//服务器不支持请求的媒体格式
    REQUESTED_RANGE_NOT_SATISFIABLE = 416,//无法满足请求的范围。
    EXPECTATION_FAILED = 417,//服务器无法满足Expect请求头的要求。
    I_AM_A_TEAPOT = 418,//这是一个超文本咖啡壶控制协议的响应,表示“我是一个茶壶”。
    MISDIRECTED = 421,//请求被定向到了错误的服务器
    UNPROCESSABLE_ENTITY = 422,//请求格式正确,但无法处理。
    FAILED_DEPENDENCY = 424,//由于先前的请求失败,请求无法完成。
    PRECONDITION_REQUIRED = 428,//请求需要满足特定的条件。
    TOO_MANY_REQUESTS = 429,//用户请求过多,被服务器限制
  
    INTERNAL_SERVER_ERROR = 500,//服务器内部错误,无法完成请求。
    NOT_IMPLEMENTED = 501,//服务器不支持请求的功能
    BAD_GATEWAY = 502,//作为网关或代理工作的服务器从上游服务器收到无效响应。
    SERVICE_UNAVAILABLE = 503,//服务器目前无法使用(由于超载或停机维护)
    GATEWAY_TIMEOUT = 504,//服务器作为网关或代理,未及时从上游服务器收到请求
    HTTP_VERSION_NOT_SUPPORTED = 505 //服务器不支持请求中所用的HTTP协议版本
}