HTTP 常见状态码总结

状态码表示服务器的响应状态。
由三位数字和原因短语组成,其中第一位数字表示响应类别。

  • 1xx Informational,信息性状态码,表示服务器正在处理请求
  • 2xx Success,成功状态码,表示请求被正常处理完毕
  • 3xx Redirection,重定向状态码,表示客户端需要进行额外的操作已完成请求
  • 4xx Client Error,客户端错误状态码,表示因为客户端原因导致服务器无法处理请求
  • 5xx Server Error,服务器错误状态码,表示服务器处理请求时出错

2xx 成功

200 OK

表示请求被成功处理了。
跟随这个状态码返回的信息和请求方式有关,比如Get请求,请求的资源会作为响应实体返回,而HEAD请求,只返回报文首部。

204 No Content

表示请求被成功处理了,没有返回报文实体的主体(就应该没有)。
浏览器向服务器请求后收到204,那么浏览器页面不会发生更新。
用于只是客服端向服务器发送信息,而服务器不需要返回新信息的情形。

206 Partial Content

表示客户端进行了范围请求,而服务器成功处理了这部分的Get请求。
响应报文中包含Content-Range指定范围的内容。

3xx 重定向

301 Moved Permanently

永久性重定向项,表示请求的资源已经永久性的搬到了新的位置。
新的URI在响应报文的location首部字段。

302 Found

临时性重定向,表示请求的资源已经临时的搬到了新位置,希望客户端此次能以新的URI访问。
新的URI在响应报文的location首部字段。
和301的差别是,请求的资源在将来还可能变成别的URI。

303 See Other

表示请求的资源已经变更到新的URI,客户端应使用Get请求来获取资源。
和302功能一样,区别是明确规定使用Get来访问。

304 Not Modified

表示客户端发送了附带条件的请求(请求头部中带有If:If-Not-Match,If-Modified-Since...),条件不满足,返回304,不包含任何响应实体。
也就是说服务器端的资源没有发生改变,客户端可以继续使用未过期的缓存资源。

307 Temporary Redirect

临时重定向,和302基本相同,区别是明确规定禁止Post变为Get。

4xx 客户端错误

400 Bad Request

表示请求报文中存在语法错误或者参数错误,需要客户端修改报文后重新发送请求。

401 Unauthorized

表示发送的请求需要有HTTP认证信息或者认证失败了。
第一次返回401,浏览器会弹出认证用的对话框。
第二次返回401,表示用户认证失败。

403 Forbidden

表示对该资源的请求被服务器拒绝了。
例如没有访问权限。
服务器可以在响应实体的主体部分做出解释,也可以不解释。

404 Not Found

表示服务器找不到请求资源。

5xx 服务器错误

500 Internal Server Error

表示服务器端在处理请求时发生了错误。
例如无法连接数据库,Web应用有Bug等等。

503 Service Unavailable

表示服务器超负荷或者正在停机维护,无法处理请求。
如果服务器知道还需要多久恢复,就会写在Retry-After首部字段返回。

你可能感兴趣的:(HTTP 常见状态码总结)