昨天面试,被问http响应的状态码有哪些,我只记得200、304、404和500其他已改不知。今天总结下吧,以免下次尴尬。
一、HTTP 状态码
在http1.1的时候加了状态码,HTTP Status Code。
HTTP状态码是服务器返回给客户端的,目的是告诉浏览器,当前 web 服务器的响应处于什么状态。
一般我们可以通过HTTP状态码常用来判断和分析当前 web 服务器的运行状况。
二、HTTP 状态码分类
类别 分类描述
1xx Information(信息状态码) 接受的请求正在处理 2xx Success(成功状态码) 请求正常处理完毕 3xx Redirection(重定向状态码) 需要进行附加操作以完成请求 4xx Client Error(客户端错误状态码) 服务器无法处理请求 5xx Server Error(服务端错误状态码) 服务器处理请求出错
2XX 请求成功
(1)200 - OK(请求成功)请求在服务器端被正常处理。
(2)204 - No Content(无内容)
(3)206 - Partial Content(部分内容)
3XX 重定向
(4)301 - Moved Permanently(永久移动):请求资源已经被重定向给了另一个url,而且书签都会被改,只要下次访问,就会自动重定向过去。
(5)302 - Found(临时移动)请求的资源已经被分配了新的URI,希望客户端本次能使用新的URI访问。
(6)303 - See Other(查看其他地址)**临时重定向,只不过会将请求强制改成 get 请求访问新的 url **
(7)304 - Not Modified(未修改)客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况,比如协商缓存,继续使用老的延长缓存时间,就发送304。强制缓存冲过以后发送的是200
4XX 客户端错误
(9)400 - Bad Request(错误请求):请求报文中存在语法错误
(10)401 - Unauthorized(未经授权):发送的请求需要有通过 HTTP 认证
(11)403 - Forbidden(拒绝请求):请求资源的访问被服务器拒绝
(12)404 - Not Found(无法找到):服务器上无法找到请求资源
5XX 服务器错误
(13)500 - Internal Server Error(内部服务器错误):服务器端在执行请求时发生了错误
(14)503 - Service Unavailable(服务不可用):服务器暂时处于超负载或正在进行停机维护