HTTP响应报文状态码及说明

HTTP状态码列表(红色常用)

HTTP状态码列表
状态码                         状态码英文名称中文描述
100Continue继续。客户端应继续其请求
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
 
200OK请求成功。一般用于GET与POST请求
201Created已创建。成功请求并创建了新的资源
202Accepted已接受。已经接受请求,但未处理完成
203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204No Content无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206Partial Content部分内容。服务器成功处理了部分GET请求
 
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303See Other查看其它地址。与301类似。使用GET和POST请求查看
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305Use Proxy使用代理。所请求的资源必须通过代理访问
306Unused已经被废弃的HTTP状态码
307Temporary Redirect临时重定向。与302类似。使用GET请求重定向
 
400Bad Request客户端请求的语法错误,服务器无法理解
401Unauthorized请求要求用户的身份认证
402Payment Required保留,将来使用
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置“您所请求的资源无法找到”的个性页面
405Method Not Allowed客户端请求中的方法被禁止
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求
407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408Request Time-out服务器等待客户端发送的请求时间过长,超时
409Conflict服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突
410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息
412Precondition Failed客户端请求信息的先决条件错误
413Request Entity Too Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
414Request-URI Too Large请求的URI过长(URI通常为网址),服务器无法处理
415Unsupported Media Type服务器无法处理请求附带的媒体格式
416Requested range not satisfiable客户端请求的范围无效
417Expectation Failed服务器无法满足Expect的请求头信息
 
500Internal Server Error服务器内部错误,无法完成请求
501Not Implemented服务器不支持请求的功能,无法完成请求
502Bad Gateway充当网关或代理的服务器,从远端服务器接收到了一个无效的请求
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求
505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理
<think>好的,我需要帮助用户了解HTTP响应报文中JSON格式的示例和解析方法。首先,我应该先确认用户的需求,他们可能想看到一个具体的JSON响应示例,以及如何用Java解析这样的报文。根据用户提供的引用,特别是引用[1]、[2]和[3],这些资源提到了使用GSON库来解析JSON,所以重点应该放在GSON上。 接下来,我需要给出一个标准的HTTP响应报文结构,包含状态行、头部和主体。JSON数据通常放在主体部分,因此示例需要展示一个完整的HTTP响应,包括JSON内容。例如,状态码200 OK,Content-Type是application/json,然后一个简单的JSON对象,比如用户信息。 然后,解析部分需要使用GSON库。需要分步骤说明:添加依赖、创建对应的Java类、使用GSON解析。用户提供的引用中有代码示例,比如引用[2]中的gsonParserString方法,但可能需要调整以符合当前示例的结构。要确保代码示例正确,比如使用fromJson方法将JSON字符串转换为Java对象。 同时,用户可能想知道如何处理嵌套结构或数组,所以在示例中可以加入一个包含订单历史的数组,展示复杂结构的解析。需要指出GSON能够自动处理这些情况,只要Java类的结构与JSON匹配。 最后,生成相关问题,帮助用户进一步学习,比如性能优化、异常处理、其他解析库比较等。这些问题应该与解析JSON相关,但不在当前回答范围内,可以作为扩展思考。 需要注意,所有JSON示例和代码都要正确,避免语法错误。另外,按照用户的要求,数学公式用$...$,但在这个问题中可能用不到,所以可能不需要数学表达式。但如果有涉及计算的地方,比如解析时间,可能需要用,不过这里可能不相关。 总结步骤: 1. HTTP响应报文示例,包含JSON主体。 2. 解析步骤,使用GSON的代码示例。 3. 相关问题生成。</think>### HTTP响应报文中的JSON格式与解析方法 #### 一、HTTP响应报文结构示例 一个典型的HTTP响应报文包含状态行、头部和主体,JSON数据通常位于主体部分。示例如下: ``` HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 127 { "status": "success", "data": { "user": { "id": 123, "name": "张三", "email": "zhangsan@example.com" }, "order_history": [101, 205, 309] } } ``` 此示例包含: - 状态行:`HTTP/1.1 200 OK` - 头部:指定内容类型和长度 - JSON主体:嵌套对象与数组结构 #### 二、Java解析JSON响应报文(使用GSON库) ##### 1. 添加GSON依赖 ```xml <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.9</version> </dependency> ``` ##### 2. 创建对应Java类 ```java public class ApiResponse { private String status; private Data data; // getters & setters } public class Data { private User user; private List<Integer> orderHistory; // getters & setters } public class User { private int id; private String name; private String email; // getters & setters } ``` ##### 3. 解析代码示例 ```java public static ApiResponse parseJsonResponse(String jsonResponse) { Gson gson = new Gson(); return gson.fromJson(jsonResponse, ApiResponse.class); } // 调用示例 String json = "上述示例的JSON主体"; ApiResponse response = parseJsonResponse(json); System.out.println(response.getData().getUser().getName()); // 输出: 张三 ``` 此方法利用GSON的`fromJson()`实现自动映射[^2]。 #### 三、关键注意事项 1. **结构一致性**:Java类字段需与JSON键名完全匹配(可用`@SerializedName`注解处理命名差异) 2. **嵌套解析**:GSON支持自动解析多层嵌套对象和集合类型 3. **异常处理**:需捕获`JsonSyntaxException`处理格式错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值