状态码在响应报文里表示了服务器对请求的处理结果;
状态码后的原因短语是简单的文字描述,可以自定义;
状态码是十进制的三位数,分为五类,从 100 到 599;
2××类状态码表示成功,常用的有 200、204、206;
3××类状态码表示重定向,常用的有 301、302、304;
4××类状态码表示客户端错误,常用的有 400、403、404;
5××类状态码表示服务器错误,常用的有 500、501、502、503。
接下来我
就挑一些实际开发中比较有价值的状态码逐个详细介绍。
1××
1××类状态码属于提示信息,是协议处理的中间状态,实际能够用到的时候很少。
我们偶尔能够见到的是“101 Switching Protocols”。它的意思是客户端使用 Upgrade 头字段,要求在 HTTP 协议的基础上改成其他的协议继续通信,比如 WebSocket。而如果服务器也同意变更协议,就会发送状态码 101,但这之后的数据传输就不会再使用 HTTP 了。
2××
2××类状态码表示服务器收到并成功处理了客户端的请求,这也是客户端最愿意看到的状态码。
“200 OK”是最常见的成功状态码,表示一切正常,服务器如客户端所期望的那样返回了处理结果,如果是非 HEAD 请求,通常在响应头后都会有 body 数据。
“204 No Content”是另一个很常见的成功状态码,它的含义与“200 OK”基本相同,但响应头后没有 body 数据。所以对于 Web 服务器来说,正确地区分 200 和 204 是很必要的。</