http常见状态码
HTTP 状态码
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。HTTP 状态码的英文为 HTTP Status Code。HTTP状态码,可以根据请求响应代码检查服务器及程序是否正常,判断网页处于什么工作状态。我们就需要了解不同的状态码分别是什么含义。
HTTP 状态码分类
HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599):
2xx
代表请求已成功被服务器接收、理解、并接受,常见的有:
- 200 OK(成功):请求已成功,请求所希望的响应头或数据体将随此响应返回
- 201(已创建):请求成功并且服务器创建了新的资源
- 202(已创建):服务器已经接收请求,但尚未处理
- 203(非授权信息):服务器已成功处理请求,但返回的信息可能来自另一来源
- 204 No Content(无内容):服务器成功处理请求,但没有返回任何内容
- 205(重置内容):服务器成功处理请求,但没有返回任何内容
- 206 Patial Content(部分内容):服务器成功处理了部分请求
3xx
表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向,常见的有:
- 300(多种选择):针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择
- 301 Moved Permanently(永久移动):请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置
- 302(临时移动):服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
- 303(查看其他位置):请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码
- 305 (使用代理):请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理
- 307 (临时重定向):服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
4xx
代表了客户端看起来可能发生了错误,妨碍了服务器的处理,常见的有:
- 400 Bad Request(错误请求):服务器不理解请求的语法
当以表单形式发送数据(Content-type", "application/x-www-form-urlencoded),数据中有null会报错400,应改为‘’ - 401 Unauthorized(未授权):请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。
- 403 Forbidden(禁止):服务器拒绝请求
- 404 Not Found(未找到):服务器找不到请求的网页
- 405(方法禁用):禁用请求中指定的方法
- 406(不接受):无法使用请求的内容特性响应请求的网页
1. 设置了 accept 但返回数据不匹配。
2. 若java项目 VO类中没有 getter,setter也会导致此类错误。 - 407(需要代理授权):此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理
- 408(请求超时):服务器等候请求时发生超时
5xx
表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,常见的有:
- 500 Inter Server Error(服务器内部错误):服务器遇到错误,无法完成请求
post 发送数据时,后台使用SpringMVC时接收不到数据:https://blog.csdn.net/Q_AN1314/article/details/51735184 - 501(尚未实施):服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码
- 502(错误网关):服务器作为网关或代理,从上游服务器收到无效响应
- 503 Server Unavailable(服务不可用):服务器目前无法使用(由于超载或停机维护)
- 504 Gateway Time-out(网关超时):服务器作为网关或代理,但是没有及时从上游服务器收到请求
- 505(HTTP 版本不受支持):服务器不支持请求中所用的 HTTP 协议版本
适用场景
- 100:客户端在发送 POST 数据给服务器前,征询服务器情况,看服务器是否处理 POST 的数据,如果不处理,客户端则不上传 POST 数据,如果处理,则 POST 上传数据。常用于 POST 大数据传输
- 206:一般用来做断点续传,或者是视频文件等大文件的加载
- 301:永久重定向会缓存。新域名替换旧域名,旧的域名不再使用时,用户访问旧域名时用 301 就重定向到新的域名
- 302:临时重定向不会缓存,常用 于未登陆的用户访问用户中心重定向到登录页面
- 304:协商缓存,告诉客户端有缓存,直接使用缓存中的数据,返回页面的只有头部信息,是没有内容部分
- 400:参数有误,请求无法被服务器识别
- 403:告诉客户端禁止访问该站点或者资源,如在外网环境下,然后访问只有内网 IP 才能访问的时候则返回
- 404:服务器找不到资源时,或者服务器拒绝请求又不想说明理由时
- 503:服务器停机维护时,主动用 503 响应请求或 nginx 设置限速,超过限速,会返回 503
- 504:网关超时
常见的状态码
下面是常见的 HTTP 状态码:
- 200 - 请求成功
- 204 - 请求处理成功,但没有任何资源可以返回给客户端,一般在只需要从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用。
- 301 - 资源(网页等)被永久转移到其它URL
- 302 - 资源(网页等)被临时转移到其它URL
- 400 - 服务器端无法理解客户端发送的请求,请求报文中可能存在语法错误。
- 401- 请求要求用户的身份认证,一般是指未被授权,请进行相关的身份验证,比如登录
- 404 - 请求的资源(网页等)不存在,常常是代码错误,路径错误,网址输入错误或者是网络不佳,网络拥堵等等造成的
- 418 - 服务器检测请求头,检查出你的操作疑似爬虫,总而拒绝,返回418
- 500 - 内部服务器错误,无法完成请求
- 503 - 抱歉,我现在正在忙着。该状态码表明服务器暂时处于超负载或正在停机维护,现在无法处理请求。
https://www.cnblogs.com/frank-link/p/14813826.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用