2024年1月6日发(作者:)

常用响应状态码含义

HTTP协议是一个基于客户端-服务器模型的协议,在客户端和服务器之间进行通信。在HTTP通信中,客户端请求一个资源时,服务器会返回一个响应。

HTTP响应消息由一个状态行、首部和消息体组成。状态行包括HTTP版本、状态码和原因短语。状态码表示服务器对请求的处理结果,它由三位数字组成。下面是一些常用的HTTP响应状态码及其含义。

1xx信息类:

1. 100 Continue

服务器已经收到请求头部信息,并且请求正在处理。客户端应该继续发送请求的请求体(在需要发送请求体的请求种)或者,如果请求已经完成,忽略这个响应。

2. 101 Switching Protocols

客户端请求协议转换。服务器已经确认,并且改变了协议。例如,HTTP/1.1中的request是使用HTTP/1.1,服务器可能会返回这个状态码表示协议切换到了WebSocket。

2xx成功类:

1. 200 OK

请求成功。客户端请求已成功被服务器接收、理解、并接受。

2. 201 Created

请求已经被服务器成功处理,新的资源已经被创建。例如在创建一个新用户时,服务器会返回201状态码,并在response header里面包含一个资源链接。

3. 204 No Content

请求已成功,但是没有返回任何数据。通常在DELETE操作时使用。

3xx重定向类:

1. 301 Moved Permanently

请求的资源已经永久转移(例如更换域名),新的URL在响应中给出,并且应该被客户端记住,所有后续的请求应该使用新的URL代替。

2. 302 Found

请求的资源暂时被转移到另一个URL,新的URL在响应中给出,并且客户端应该继续使用原有URL。

3. 304 Not Modified

客户端使用缓存的数据进行了条件请求,服务器已经确认数据未发生改变。这种情况下,响应消息体中不含实体的主体部分。

4xx 客户端错误类:

1. 400 Bad Request

请求的语法有误,服务器无法处理此请求。

2. 401 Unauthorized

请求未授权,需要用户进行身份验证。

3. 403 Forbidden

服务器拒绝此请求,权限不足。

4. 404 Not Found

请求的资源不存在。

5xx服务器错误类:

1. 500 Internal Server Error

服务器遇到错误,无法完成请求。

2. 503 Service Unavailable

服务器目前无法接受请求,一般用于服务器维护暂停一段时间等情况下。

总的来说,HTTP响应状态码是客户端和服务器之间进行通信时重要的一部分。熟悉这些状态码并且知道它们的含义对于开发人员和运维人员都非常重要。在实际工作中,对于每个HTTP请求,我们都需要注意到响应状态码并根据响应状态码来进行相应的处理。