HTTP状态码分类
HTTP状态码由三位数字组成,根据首位数字的不同,可以分为五大类:
-
1xx:信息性状态码 -
表示服务器已收到请求,正在处理中,客户端应继续等待后续响应。
-
常见的有:
-
2xx:成功状态码 -
表示请求已成功被服务器接收、理解并处理。
-
常见的有:
200 OK:请求成功,响应头或响应体中包含所请求的数据。
201 Created:请求成功,服务器创建了新的资源。
204 No Content:请求成功,但响应体不包含任何内容。
-
3xx:重定向状态码 -
表示客户端需要采取进一步操作才能完成请求,如跳转到新的URL。
-
常见的有:
301 Moved Permanently:请求的资源已被永久移动到新URI,后续请求应使用新URI。
302 Found:请求的资源临时移动到新URI,后续请求仍应使用原URI。
304 Not Modified:客户端缓存的资源是最新的,服务器不返回资源内容。
-
4xx:客户端错误状态码 -
表示客户端的请求有错误,服务器无法处理。
-
常见的有:
400 Bad Request:请求语法错误,服务器无法理解。
401 Unauthorized:请求需要身份验证。
403 Forbidden:服务器拒绝访问请求的资源。
404 Not Found:请求的资源不存在。
-
5xx:服务器错误状态码 -
表示服务器在处理请求时发生内部错误。
-
常见的有:
500 Internal Server Error:服务器遇到未知错误。
502 Bad Gateway:服务器作为网关或代理时,从上游服务器收到无效响应。
503 Service Unavailable:服务器当前无法处理请求,可能处于维护或过载状态。
504 Gateway Timeout:服务器作为网关或代理时,未能及时从上游服务器收到请求。
100 Continue:服务器已收到请求头,客户端可以继续发送请求体。
101 Switching Protocols:服务器同意切换协议,如从HTTP切换到WebSocket。
常见状态码详解
下面对一些常见的状态码进行更详细的解释:
-
200 OK:这是最常见的状态码,表示请求成功,一切正常。
-
301 Moved Permanently:用于永久重定向,搜索引擎会更新索引,用户书签也会自动更新。
-
302 Found:用于临时重定向,搜索引擎不会更新索引,用户书签也不会更新。
-
401 Unauthorized:表示请求需要身份验证,通常会在响应头中包含
WWW-Authenticate
字段,告知客户端如何进行身份验证。 -
403 Forbidden:表示服务器理解请求,但拒绝执行,可能是由于权限不足或其他原因。
-
404 Not Found:表示请求的资源不存在,可能是URL错误或资源已被删除。
-
500 Internal Server Error:表示服务器内部错误,可能是代码错误、数据库问题等。
如何利用状态码
-
开发人员:根据状态码判断请求处理结果,进行相应的错误处理和异常处理。
-
运维人员:通过监控状态码,及时发现服务器问题,保证服务稳定性。
-
SEO人员:关注3xx状态码,确保网站重定向设置正确,避免影响搜索引擎排名。
-
普通用户:了解常见状态码,有助于排查问题,提升上网体验。
结语
原文始发于微信公众号(技术修道场):HTTP状态码:解码服务器的回应
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论