Servlet HTTP 状态码大全列表
HTTP 请求和 HTTP 响应消息的格式是类似的,结构如下:
- 初始状态行 + 回车换行符(回车+换行)
- 零个或多个标题行+回车换行符
- 一个空白行,即回车换行符
- 一个可选的消息主体,比如文件、查询数据或查询输出
例如,服务器的响应头如下所示:
HTTP/1.1 200 OKContent-Type: text/htmlHeader2: ......HeaderN: ... (Blank Line)<!doctype ...><html><head>...</head><body>...</body></html>
状态行包括 HTTP 版本(在本例中为 HTTP/1.1)、一个状态码(在本例中为 200)和一个对应于状态码的短消息(在本例中为 OK)。
以下是可能从 Web 服务器返回的 HTTP 状态码和相关的信息列表:
代码 |
消息 |
描述 |
---|---|---|
100 |
Continue |
只有请求的一部分已经被服务器接收,但只要它没有被拒绝,客户端应继续该请求。 |
101 |
Switching Protocols |
服务器切换协议。 |
200 |
OK |
请求成功。 |
201 |
Created |
该请求是完整的,并创建一个新的资源。 |
202 |
Accepted |
该请求被接受处理,但是该处理是不完整的。 |
203 |
Non-authoritative Information |
|
204 |
No Content |
|
205 |
Reset Content |
|
206 |
Partial Content |
|
300 |
Multiple Choices |
链接列表。用户可以选择一个链接,进入到该位置。最多五个地址。 |
301 |
Moved Permanently |
所请求的页面已经转移到一个新的 URL。 |
302 |
Found |
所请求的页面已经临时转移到一个新的 URL。 |
303 |
See Other |
所请求的页面可以在另一个不同的 URL 下被找到。 |
304 |
Not Modified |
|
305 |
Use Proxy |
|
306 |
Unused |
在以前的版本中使用该代码。现在已不再使用它,但代码仍被保留。 |
307 |
Temporary Redirect |
所请求的页面已经临时转移到一个新的 URL。 |
400 |
Bad Request |
服务器不理解请求。 |
401 |
Unauthorized |
所请求的页面需要用户名和密码。 |
402 |
Payment Required |
您还不能使用该代码。 |
403 |
Forbidden |
禁止访问所请求的页面。 |
404 |
Not Found |
服务器无法找到所请求的页面。. |
405 |
Method Not Allowed |
在请求中指定的方法是不允许的。 |
406 |
Not Acceptable |
服务器只生成一个不被客户端接受的响应。 |
407 |
Proxy Authentication Required |
在请求送达之前,您必须使用代理服务器的验证。 |
408 |
Request Timeout |
请求需要的时间比服务器能够等待的时间长,超时。 |
409 |
Conflict |
请求因为冲突无法完成。 |
410 |
Gone |
所请求的页面不再可用。 |
411 |
Length Required |
"Content-Length" 未定义。服务器无法处理客户端发送的不带 Content-Length 的请求信息。 |
412 |
Precondition Failed |
请求中给出的先决条件被服务器评估为 false。 |
413 |
Request Entity Too Large |
服务器不接受该请求,因为请求实体过大。 |
414 |
Request-url Too Long |
服务器不接受该请求,因为 URL 太长。当您转换一个 "post" 请求为一个带有长的查询信息的 "get" 请求时发生。 |
415 |
Unsupported Media Type |
服务器不接受该请求,因为媒体类型不被支持。 |
417 |
Expectation Failed |
|
500 |
Internal Server Error |
未完成的请求。服务器遇到了一个意外的情况。 |
501 |
Not Implemented |
未完成的请求。服务器不支持所需的功能。 |
502 |
Bad Gateway |
未完成的请求。服务器从上游服务器收到无效响应。 |
503 |
Service Unavailable |
未完成的请求。服务器暂时超载或死机。 |
504 |
Gateway Timeout |
网关超时。 |
505 |
HTTP Version Not Supported |
服务器不支持"HTTP协议"版本。 |
设置 HTTP 状态代码的方法
下面的方法可用于在 Servlet 程序中设置 HTTP 状态码。这些方法通过 HttpServletResponse 对象可用。
序号 |
方法 & 描述 |
---|---|
1 |
public void setStatus ( int statusCode )该方法设置一个任意的状态码。setStatus 方法接受一个 int(状态码)作为参数。如果您的反应包含了一个特殊的状态码和文档,请确保在使用 PrintWriter 实际返回任何内容之前调用 setStatus。 |
2 |
public void sendRedirect(String url)该方法生成一个 302 响应,连同一个带有新文档 URL 的 Location 头。 |
3 |
public void sendError(int code, String message)该方法发送一个状态码(通常为 404),连同一个在 HTML 文档内部自动格式化并发送到客户端的短消息。 |
HTTP 状态码实例
下面的例子把 407 错误代码发送到客户端浏览器,浏览器会显示 "Need authentication!!!" 消息。
// 导入必需的 java 库import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.util.*;@WebServlet("/showError")// 扩展 HttpServlet 类public class showError extends HttpServlet { // 处理 GET 方法请求的方法 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置错误代码和原因 response.sendError(407, "Need authentication!!!" ); } // 处理 POST 方法请求的方法 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
现在,调用上面的 Servlet 将显示以下结果:
HTTP Status 407 - Need authentication!!!type Status reportmessage Need authentication!!!description The client must first authenticate itself with the proxy (Need authentication!!!).Apache Tomcat/5.5.29 |
---|
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Retrofit2.0 实现图文(参数+图片)上传方法总结
- Android中使用GridView实现仿微信图片上传功能(附源代码)
- Android下载进度监听和通知的处理详解
- Android上传多张图片的实例代码(RxJava异步分发)
- Android仿微信语音消息的录制和播放功能
- Android如何自定义升级对话框示例详解
- Android Tiny集成图片压缩框架的使用
- 11个JavaScript代码重构最佳实践
- Android编程实现类似天气预报图文字幕垂直滚动效果的方法
- Android 中 Tweened animation的实例详解
- Android 媒体开发之MediaPlayer状态机接口方法实例解析
- Android读取资源文件的方法
- Android 基于IntentService的文件下载的示例代码
- Android开发之底图局部加载移动的方法示例
- Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题