**http(超文本传输协议)**是一个简单的请求-响应协议,它通常运行在TCP之上。
RFC 规定 HTTP 的状态码为**「三位数」,第一个数字定义了响应的类别**,被分为五类:
- 1XX:代表请求已被服务器接受,正在被服务器处理
- 2XX:代表请求被正确返回(成功状态)
- 3XX:重定向状态
- 4XX:客户端错误
- 5XX:服务器端错误
1XX:信息类
接受的请求正在处理,信息类状态码。
2XX:请求被成功执行后返回
- 200 OK :表示从客户端发来的请求在服务器端被正确请求。
- 204 No content:表示请求成功,但没有资源可返回。
3XX:重定向
- 301 Moved Permanently:永久重定向,请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替。
- 302 Found:临时移动,与301类似,不同的是当前资源被临时移动到新的URI,客户端应继续保持当前URI获取资源。
- 304 Not Modified:资源未修改,所有资源资源未被修改,命中协商缓存,从缓存中读取文件
- 307 Temporary Redirect:临时重定向。与302类似。使用GET请求重定向
4XX:客户端错误
- 400 Bad Request: 客户端请求的语法错误,服务器无法理解,例如客户端传参有无,或者某个必传参数未传导致。
- 401 Unauthorized:未认证,客户端请求的资源需要被认证过后才能访问,未携带认证信息去访问请求。
- 403 Forbidden:禁止访问的请求,服务器理解客服端发送的请求,但是拒绝执行该请求。
- 404 Not Found:资源未在服务器上找到
- 405 Method Not Allowed: 客户端请求中的方法被禁止,例如:当前请求的资源本来是一个get资源,但是客户端通过post请i去去访问。就会出现这种情况。 客户端可以通过options方法来查看服务器允许的访问方法。
5XX:服务器错误
- 500 Internal Server Error:服务器内部错误,无法完成请求。
- 502 Bad Gateway:无效响应,作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
- **504 Gateway Time-out:**服务器未能及时相应请求,充当网关或代理的服务器,未及时从远端服务器获取请求。
- 505 HTTP Version not supported:不支持的HTTP version ,服务器不支持请求的HTTP协议的版本,无法完成处理