HTTP状态码、接口请求状态码
HTTP状态码是由三位数字组成的数字代码,用于表示HTTP协议处理请求时的返回状态。状态码通常由服务端发送,客户端通过接收状态码来了解请求是否成功,以及出现错误时出错的原因。
以下是HTTP状态码的详细介绍:
1xx - 信息性状态码
这些状态码表示已接受请求,但仍处于处理过程中。常见的信息性状态码有以下几种:
- 100 Continue(继续):表示客户端应该继续它的请求
- 101 Switching Protocols(切换协议):表示客户端需要采用不同协议以完成请求,如升级为WebSocket
- 102 Processing(处理):表示服务器已经收到并正在处理请求,但客户端仍应继续等待
2xx - 成功状态码
这些状态码表示已成功接收请求并进行了处理。常见的成功状态码有以下几种:
- 200 OK(成功):表示已成功处理请求,一般用于GET和POST请求
- 201 Created(已创建):表示已成功创建请求的资源
- 202 Accepted(已接受):表示已接收请求,但尚未完成处理,需要等待一段时间
- 204 No Content(无内容):表示成功处理请求,但没有返回任何实体内容
3xx - 重定向状态码
这些状态码表示客户端需要可能的进一步操作才能完成请求,如需要进一步地加载新URL。常见的重定向状态码有以下几种:
- 300 Multiple Choices(多项选择):表示请求的资源有多个可供选择的表示形式,由客户端进行选择
- 301 Moved Permanently(永久重定向):表示资源已被永久移除,并且将SE0优化转移到了新的位置
- 302 Found(临时重定向):表示资源已被临时移动到另一个位置和URL
- 303 See Other(查看其他位置):表示客户端应当使用另一个URI来访问请求的资源,而不是使用当前URI
- 304 Not Modified(未修改):表示客户端缓存的资源未发生修改,可以继续使用缓存
- 307 Temporary Redirect(临时重定向):与302状态码类似,客户端应该继续使用原地址
- 308 Permanent Redirect(永久重定向):与301状态码类似,客户端应该使用新的URL来访问请求资源
4xx - 客户端错误状态码
这些状态码表示客户端的请求有错误,需修改请求才能成功。常见的客户端错误状态码有以下几种:
- 400 Bad Request(请求出错):表示请求报文存在语法错误或请求不被服务器所接受
- 401 Unauthorized(未授权):表示请求未经授权,需进行身份验证
- 403 Forbidden(拒绝访问):表示服务器拒绝该请求
- 404 Not Found(未找到):表示请求的资源不存在
- 405 Method Not Allowed(方法不被允许):表示请求中所指定的方法不被服务器支持
- 406 Not Acceptable(不可接受):表示客户端请求的内容格式服务器不支持
- 407 Proxy Authentication Required(需要代理身份验证):表示客户端需要先使用代理服务器进行身份验证才能访问所需资源
- 408 Request Timeout(请求超时):表示请求超时,服务器等待的时间过长
- 409 Conflict(请求冲突):表示请求冲突,且仅适用于PUT请求
- 410 Gone(已被删除):表示请求的资源已被永久删除
- 411 Length Required(需要长度):表示服务端必须提供 Content-Length 头信息
- 412 Precondition Failed(前置条件不满足):表示客户端请求的条件无法服务端满足
- 413 Payload Too Large(请求体太大):表示服务器拒绝处理请求,请求过于庞大
- 414 URI Too Long(URI太长):表示请求中的URI过长,服务器无法处理
- 415 Unsupported Media Type(不支持的媒体类型):表示客户端请求的内容格式不被服务器支持
- 416 Range Not Satisfiable(范围无效):表示服务器无法提供请求的范围,如请求的资源不存在
- 417 Expectation Failed(服务器无法处理Expect头字段指定的期望值):表示服务器无法满足客户端在Expect头字段中指定的扩展请求信息
- 421 Misdirected Request(该对端服务器错):表示服务器要求客户端通过另一个协议或IP地址访问资源,以便更好的控制负载平衡。
- 422 Unprocessable Entity(请求格式正确,但语义有误):表示请求格式正确,但是由于含有语义错误,无法被服务器识别
- 423 Locked(当前请求的资源被锁定):表示由于资源被锁定,请求无法处理
- 424 Failed Dependency(请求失败依赖):表示一个先前的请求失败,导致此次请求失败
- 425 Too Early(请求过早):表示请求过早,任何操作都不能执行
- 426 Upgrade Required(需要升级协议):表示客户端需要切换协议以完成请求
- 428 Precondition Required(此时请求需满足先决条件):表示缺少先决条件,请求无法被处理
- 429 Too Many Requests(请求过多):表示请求次数超出了服务器的限制
- 431 Request Header Fields Too Large(请求头超大):表示请求头部字段或cookie长度过大,服务器无法处理
- 451 Unavailable For Legal Reasons(由于法律原因无法获得):表示服务器由于法律原因无法处理请求
5xx - 服务器端错误状态码
这些状态码表示服务器在处理请求时遇到错误或无法完成请求。常见的服务器端错误状态码有以下几种:
- 500 Internal Server Error(内部服务器错误):表示服务器在处理请求时遇到错误
- 501 Not Implemented(未实现):表示服务器不支持请求的功能
- 502 Bad Gateway(错误网关):表示网关或代理服务器收到无效响应
- 503 Service Unavailable(服务不可用):表示服务器暂时无法处理请求,如服务器过载、停机等
- 504 Gateway Timeout(网关超时):表示网关或代理服务器在规定时间内未能接收到响应
- 505 HTTP Version Not Supported(HTTP协议版本不被支持):表示服务器不支持请求中所用的HTTP协议版本
- 506 Variant Also Negotiates(协商变量也行):表示服务器在内部配置错误
- 507 Insufficient Storage(存储空间溢出):表示服务器无法存储完成请求所必须的内容
- 508 Loop Detected(检测到循环):表示服务器在处理请求时检测到循环
- 510 Not Extended(不可扩展):表示客户端需要进行额外的扩展以完成请求
- 511 Network Authentication Required(需要网络认证):表示客户端需要进行网络认证以完成请求
获取状态码示例
在Java中,使用HttpURLConnection或OkHttp等库发送Http请求,可以通过getResponseCode()方法来获取状态码。下面是一个示例代码:
URL url = new URL("http://www.example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int statusCode = connection.getResponseCode();
以上代码是使用HttpURLConnection发送Get请求,并获取响应的状态码。
小结
以上就是HTTP协议中定义的所有状态码及其含义。了解这些状态码,可以更好地判断请求返回结果是否符合预期,有助于开发人员进行debug和问题排查。当HTTP协议定义的状态码不足以表达具体的问题时,HTTP会在响应消息体中进一步描述具体问题信息。无论是服务器端还是客户端,都可以通过状态码及其描述信息来判断问题所在,以便及时得到解决。
HTTP状态码、接口请求状态码相关推荐
- 接口请求返回的状态码总览
HTTP状态码(英语:HTTP Status Code),用以表示网页服务器超文本传输协议响应状态的3位数字代码. 作用:服务器告诉客户端当前请求响应的状态,通过状态码就能判断和分析服务器的运行状态 ...
- 接口响应状态码整理合集
前言 请求后端接口的时候有时因为某些原因会返回一些错误状态码,不同的状态码对应不同的错误信息,为了方便状态码查询与问题定位,梳理总结一下. 目录 HTTP响应状态码分类 100-199 信息响应 20 ...
- Http请求状态码-206
哈喽 大家好啊 相信很多小伙伴都遇到过接口206状态 这是我最近遇到的一个很头疼的问题 首先我们打开F12看网络请求,因为有些是图片类型,有些是xhr接口类型,有些是媒体media资源类型,所以大家筛 ...
- 为什么ajax请求状态码为0,ajax请求状态码为0的解决办法
原文链接:https://blog.csdn.net/changqing5818/article/details/53932463 前言 今天遇到个奇怪的问题,使用JQuery的ajax请求,后台的C ...
- HTTP请求状态码404相关问题解决
HTTP请求状态码404相关问题解决 参考文章: (1)HTTP请求状态码404相关问题解决 (2)https://www.cnblogs.com/complc/p/11646710.html 备忘一 ...
- http协议组成(请求状态码)
http请求由:请求行:消息报头:请求正文组成 //请求行 Request URL: http://172.32.4.33:8080/operation/v2/autoServer/queryAuto ...
- 在使用selenium 做IE自动化操作时 请求状态码 400【帮忙解决或者找出问题所在悬赏200】
在使用selenium 做IE自动化操作时 发现定位点击按钮无效,后来发现,人工点击按钮时,请求状态码为200,自动化点击时状态码为400,请问大家有什么方法可以尝试解决这个问题吗? 对方可能使用了某 ...
- 服务器响应请求状态码(详细版)
原文地址: https://www.cnblogs.com/chinaifae/p/10253520.html. 2开头 (成功响应)表示成功处理了请求的状态码 200 (成功) 服务器已成功处理了请 ...
- http协议,http状态码,请求,响应
http 简介 http 是一种超文本传输协议(Hyper Text Transfer Protocol), 可以用来在络中把服务器消息传输到我们的浏览器中.并且Http 协议是一个基于 TCP/IP ...
最新文章
- The method setButton(int, CharSequence, Message) in the type AlertDialog is not applicable for the a
- 使用静态URL片段 URL路由 精通ASP-NET-MVC-5-弗瑞曼
- CentOS6.2安装LAMP+DRUPAL网站(2)
- ORACLE 字符串函数用法(转载)
- macos 安装 brew
- freemarker 去掉最后一个逗号_从零开始做一个SLG游戏(六)游戏系统以及配置表...
- ARM 汇编学习——编写简单的ARM汇编程序
- 通俗理解滑模变结构(2)
- Too many open files 问题
- GitHub 报告:中国755万开发者排全球第二
- SAS Viya调研概述
- android 状态模式,Android编程设计模式之状态模式详解
- Linux常用命令的缩写含义
- Power bi 3.6 百分比堆积柱形图
- u3d学习-第一个小游戏
- Go环境配置(MAC)
- 【地图学】地图投影的定义和分类
- 【面试】764高频前端开发面试问题及答案整理
- 高清网络摄像机 (High Definition IP Camera) 的延迟问题
- 为什么特征数据要做对数变换?
热门文章
- MATLAB图片加密
- c语言字符串数组的两种表示方法
- 人工智能机器人中的硬件
- 中南大学计算机学院张伟,中南大学2019年大学生创新创业年会计算机学院专场分会顺利举办...
- dreamweaver作业静态HTML网页设计——动漫主题:天宝伏妖录(7页) 学生动漫网页设计作品静态HTML网页模板源码
- matlab算cos15 cos30,cos30 等于多少:Cos30度等于多少?怎么算的求详细解答
- NPM酷库045:js-yaml,读写YAML
- 惠普新CEO的独门秘笈
- 扎心,如果张东升是个程序员
- 金蝶AAS适配人大金仓kdb_pdo