HTTP方法用来告诉服务器应该做什么事情。HTTP状态码用来告诉客户端发生了什么事情。
状态码位于响应报文段的起始行中。原因短语和状态码都是成对出现,原因短语是状态码的阐释,帮助我们更好的了解请求期间发生了什么情况。
状态码用三位数字表示,每个状态码的第一位数字都用来描述状态的一般类别。
状态码总共有五种分类:
- 1XX 信息提示
- 2XX 成功
- 3XX 重定向
- 4XX 客户端错误
- 5XX 服务器错误
接下来分类别进行详细描述:
1XX 信息提示
2XX 成功
客户端向服务器发生请求时,如果这些请求都是成功的,就会返回2XX成功状态码。服务器端有一组用来表示成功的状态码,分别对应不同类型的成功请求。
200 OK(成功)
服务器已经成功处理了请求,并且返回了所请求的资源,包含在了响应报文段的实体的主体内。200 是我们最常见的状态码。
201 Created(已创建)
要求服务器创建对象的请求被成功处理(比如PUT方法的请求),并且资源也被创建完毕。
202 Accepted(已接受)
服务器已经接受请求,但是服务器并未做任何处理。不能够保证服务器会完成这个请求。
204 No Content(无内容)
服务器已经成功处理了请求,但是在响应报文中只包含状态行和首部,没有实体的主体部分即不会返回内容。
206 Partial Content(部分内容)
服务器成功执行了部分或者Range(范围)请求。206与Range首部有关系。
3XX 重定向
要完成请求时,需要进一步的操作。
300 Multiple Choices(多种选择)
客户端请求一个资源时,服务器可以执行多中操作。
301 Moved Permanently(永久移动)
请求的资源被永久的转移到了新的位置并赋予新的URL,响应的首部中会包含此资源现在的URL。
302 Found(临时移动)
请求的资源暂时被放到了新的URL,客户端应该使用响应首部中的URL来临时定位资源。在将来的请求中仍然使用旧的URL。
4XX 客户端错误
5XX 服务器错误
5XX状态码意味着服务器端在处理请求的时候发生了内部错误。
500 Internal Server Error(服务器内部错误)
500表示服务器在处理请求的时候发生了错误,无法完成请求。一般是服务器内部存在bug或者故障。
501 Not Implemented(尚未实施)
客户端发起的请求超出服务器的处理范围,服务器不能完成请求。比如使用了服务器不支持的请求方法时,就会返回这个状态码。
503 Service Unavailable(服务不可用)
503状态码表明服务器暂时处于超负载或者停机维护状态,暂时无法处理请求。
这只是暂时状态。如果事先知道解除该状况需要的时间,应该在响应的首部中加入返回给客户端。
网友评论