HTTP协议中状态码有哪些?各代表什么意思?

HTTP状态码用于表示客户端和服务器之间的请求响应状态。常见的HTTP状态码有:

  • 1xx:临时响应,表示临时 redirects。
  • 2xx:成功,表示请求已成功被服务器接收和处理。
    • 200 OK:请求成功
    • 204 No Content:无内容,请求成功处理,没有资源可以返回
  • 3xx:重定向,要完成请求,需要进一步操作。
    • 301 Moved Permanently:永久移动
    • 302 Found:临时移动
  • 4xx:客户端错误,请求包含语法错误或无法完成。
    • 400 Bad Request:错误请求
    • 401 Unauthorized:未授权
    • 403 Forbidden:禁止
    • 404 Not Found:未找到
  • 5xx:服务器错误,服务器在处理请求的过程中发生了一些意外。
    • 500 Internal Server Error:内部服务器错误
    • 502 Bad Gateway:错误网关
    • 503 Service Unavailable:服务不可用

例如:

# 请求
GET /resource HTTP/1.1

# 响应
HTTP/1.1 200 OK
Content-Type: text/html

<html>
  <body>
    <h1>Resource</h1>
  </body>
</html>

# 请求
GET /resource HTTP/1.1

# 响应
HTTP/1.1 404 Not Found