最全最详细的HTTP状态码分类表来了!
1. 1xx 状态码(信息性响应)
1.1 100 Continue
当客户端发送的请求需要进行进一步处理时,服务器返回此状态码,表示请求已被接收,客户端应继续发送下一部分请求。
1.2 101 Switching Protocols
服务器根据客户端的请求,切换协议,服务器返回此状态码,表示正在切换到新的协议。
2. 2xx 状态码(成功响应)
2.1 200 OK
服务器成功处理了请求。通常,这表示服务器提供了请求的网页。
2.2 201 Created
请求成功并在服务器上创建了新的资源。
HTTP/1.1 201 Created
Location: /my-resource/123
在上面的示例中,服务器成功创建了资源,并返回状态码201。同时,响应头Location指明了新创建资源的URL。
3. 3xx 状态码(重定向响应)
3.1 301 Moved Permanently
资源被永久移动到了新的URL。客户端应该使用新的URL进行所有后续的请求。
3.2 302 Found
资源暂时被移动到了新的URL。客户端应该继续使用原始的URL进行后续的请求。
3.3 304 Not Modified
客户端发送了一个带有条件的GET请求,并且服务器判断该资源没有被修改过,返回此状态码,表示资源未被修改,客户端可以使用缓存的资源。
4. 4xx 状态码(客户端错误响应)
4.1 400 Bad Request
客户端发送的请求有语法错误,服务器无法理解。
4.2 401 Unauthorized
请求要求用户进行身份验证,未提供身份验证凭据或者身份验证失败。
5. 5xx 状态码(服务器错误响应)
5.1 500 Internal Server Error
服务器遇到了一个未曾预料的错误,无法完成对请求的处理。
5.2 502 Bad Gateway
服务器作为网关或者代理时,从上游服务器收到无效的响应。
总结
在HTTP协议中,状态码用于表示服务器对请求的响应结果。不同的状态码代表了不同的含义和处理方式。了解和理解各个状态码对于开发者和网络管理员来说是非常重要的。
在开发过程中,通过判断返回的状态码,可以根据具体的业务逻辑来处理不同的响应结果。例如,在处理用户认证时,如果返回状态码401 Unauthorized,就可以提示用户进行身份验证;如果返回状态码200 OK,就可以继续进行后续的业务操作。
同时,了解常见的状态码也有助于排查和解决问题。例如,当出现状态码500 Internal Server Error时,就可以知道是服务器内部出现了错误,需要检查服务器的配置或者代码逻辑。
综上所述,HTTP状态码提供了一种标准化的机制,用于表示服务器对请求的处理结果。了解和正确地使用状态码,对于优化用户体验和排查问题都具有重要的作用。