首页  > 世界杯冠军奖金

常见的 HTTP 状态码分类及说明

HTTP 响应状态码(HTTP status code),表示服务器对请求的处理结果。常见的 HTTP 状态码有以下几类:

1xx: 信息响应 (Informational Responses)

100 Continue: 请求已收到,客户端应继续发送请求的其余部分。

101 Switching Protocols: 服务器同意客户端切换到新的协议。

2xx: 成功 (Successful Responses)

200 OK: 请求成功,服务器返回所请求的数据。

201 Created: 请求成功并创建了新的资源。

202 Accepted: 请求已接受但尚未处理完成。

204 No Content: 请求成功但没有返回内容。

3xx: 重定向 (Redirection Messages)

301 Moved Permanently: 请求的资源已被永久移动到新位置。

302 Found: 请求的资源临时移动到新位置。

304 Not Modified: 请求的资源未被修改,可以使用缓存的版本。

4xx: 客户端错误 (Client Error Responses)

400 Bad Request: 请求有误,服务器无法理解。

401 Unauthorized: 请求需要身份验证。

403 Forbidden: 服务器拒绝请求。

404 Not Found: 请求的资源未找到。

405 Method Not Allowed: 请求的方法不允许。

408 Request Timeout: 请求超时。

5xx: 服务器错误 (Server Error Responses)

500 Internal Server Error: 服务器内部错误。

501 Not Implemented: 服务器不支持请求的方法。

502 Bad Gateway: 服务器作为网关或代理时收到无效响应。

503 Service Unavailable: 服务器当前无法处理请求。

504 Gateway Timeout: 服务器作为网关或代理时请求超时。

代码案例

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.methods.PostMethod;

public class HttpPostRequest {

public String HttpPost(String url, JSONObject json) {

GrgLoggerRepository.getMonitorCOMM().LogInfo("HTTP请求处理 start");

String responseString = "9999";

HttpClient httpClient = new HttpClient();

PostMethod method = new PostMethod(url);

try {

httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(20000);

httpClient.getHttpConnectionManager().getParams().setSoTimeout(20000);

method.setRequestHeader("Content-type", "application/json; charset=utf-8");

method.setRequestBody(json.toJSONString());

int statusCode = httpClient.executeMethod(method);

GrgLoggerRepository.getMonitorCOMM().LogInfo("HTTP请求返回状态码: " + statusCode);

switch (statusCode) {

case 200:

responseString = method.getResponseBodyAsString();

break;

case 201:

responseString = "资源已创建";

break;

case 204:

responseString = "请求成功但无内容";

break;

case 400:

responseString = "请求错误";

break;

case 401:

responseString = "未授权";

break;

case 403:

responseString = "禁止访问";

break;

case 404:

responseString = "未找到资源";

break;

case 500:

responseString = "服务器内部错误";

break;

case 503:

responseString = "服务不可用";

break;

default:

responseString = "未知状态码: " + statusCode;

}

} catch (Exception e) {

GrgLoggerRepository.getMonitorCOMM().LogError("HTTP请求处理异常:", e);

} finally {

method.releaseConnection();

}

GrgLoggerRepository.getMonitorCOMM().LogInfo("HTTP请求处理 end");

return responseString;

}

}