分类:

  1. 1xx 服务器收到请求
  2. 2xx 请求成功,如 200
  3. 3XX 重定向,如 302
  4. 4xx 客户端错误,如 404
  5. 5xx 服务端错误,如 500

常见状态码:

  • 1XX: 提供信息
    • 100 Continue 情景:客户端向服务端传很大的数据,这个时候询问服务端,如果服务端返回100,客户端就继续传 (历史,现在比较少了)
    • 101 Switching Protocols 协议切换。比如下面这种:
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade

告诉客户端把协议切换为 Websocket

  • 2xx: 成功
    • 200 Ok 正常的返回成功 通常用在 GET
    • 201 Created 已创建 通常用在 POST
    • 202 Accepted 已接收 比如发送一个创建 POST 请求,服务端有些异步的操作不能马上处理先返回 202,结果需要等通知或者客户端轮询获取
    • 203 Non-Authoritative Infomation 非权威内容 原始服务器的内容被修改过
    • 204 No Content 没有内容 一般 PUT 请求修改了但是没有返回内容
    • 205 Reset Content 重置内容
    • 206 Partial Content 服务端下发了部分内容
  • 3XX: 重定向
    • 300 Multiple Choices 用户请求了多个选项的资源(返回选项列表)
    • 301 Moved Permanently 永久转移
    • 302 Found 资源被找到(以前是临时转移)不推荐用了 302 拆成了 303307
    • 303 See Other 可以使用 GET 方法在另一个 URL 找到资源
    • 304 Not Modified 没有修改
    • 305 Use Proxy 需要代理
    • 307 Temporary Redirect 临时重定向 (和 303 的区别是,307 使用原请求的method 重定向资源, 303 使用 GET 方法重定向资源)
    • 308 Permanent Redirect 永久重定向 (和 301 区别是 客户端接收到 308 后,之前是什么 method,之后也会沿用这个 method 到新地址。301,通常给用户会向新地址发送 GET 请求)
  • 4XX: 客户端错误
    • 400 Bad Request 请求格式错误
    • 401 Unauthorized 没有授权
    • 402 Payment Required 请先付费
    • 403 Forbidden 禁止访问
    • 404 Not Found 没有找到
    • 405 Method Not Allowed 方法不允许
    • 406 Not Acceptable 服务端可以提供的内容和客户端期待的不一样
  • 5XX: 服务端错误
    • 500 Internal Server Error 内部服务器错误
    • 501 Not Implemented 没有实现
    • 502 Bad Gateway 网关错误
    • 503 Service Unavailable 服务不可用 (内存用光了,线程池溢出,服务正在启动)
    • 504 Gateway Timeout 网关超时
    • 505 HTTP Version Not Supported 版本不支持

面试的时候常见该记住的有:101 200 201 301 302 304 403 404 500 502 504

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:叶继伟

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!