JSP中HTTP状态码
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/http-status-codes.html:
HTTP请求格式和HTTP响应消息的格式一样,都有以下结构:
- 一个初始状态行+CRLF(回车+换行,即新行)
- 零个或多个标题行+CRLF
- 一个空行,即一个CRLF
- 一个可选的消息体,像文件,查询数据或查询输出
例如,一个服务器响应标题看起来如下所示:
HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
(Blank Line)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>
状态行包含HTTP版本(例子中的HTTP/1.1),状态码(例子中的200)和对应状态代码的短消息(例子中的OK)。
下面是HTTP状态代码和相关可能从Web服务器返回的消息的一个列表:
编码: | 消息: | 描述: |
---|---|---|
100 | Continue | 只有一部分的服务器请求已经收到,但只要没有被拒绝,客户端应该继续请求 |
101 | Switching Protocols | 服务器交换了协议。 |
200 | OK | 请求是OK |
201 | Created | 请求已经完成,新的资源被创建 |
202 | Accepted | 请求被接受处理,但是处理还没有完成。 |
203 | Non-authoritative Information | |
204 | No Content | |
205 | Reset Content | |
206 | Partial Content | |
300 | Multiple Choices | 一个链接列表。用户可以选择一个链接然后跳转到那个位置。最多可选择5个地址 |
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 | "内容-长度" 没有被定义。没有它服务器不会接受请求。 |
412 | Precondition Failed | 服务器给出给定的请求评估的前提为假。 |
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 | 服务器不支持“HHTP协议”版本。 |
设置HTTP状态码的方法:
有以下方法可以用来设置 servlet 程序的 HTTP 状态码。有了 HttpServletResponse 对象,这些方法都是可用的。
方法 | 描述 |
---|---|
public void setStatus ( int statusCode ) | 此方法设置一个任意的状态码。setStatus方法接受一个 int(状态码)作为参数。如果响应包含一个特殊的状态码和文档,在实际中用PrintWriter返回任何内容之前一定要调用setStatus。 |
public void sendRedirect(String url) | 该方法生成一个302响应以及一个位置标题给出新文档的URL。 |
public void sendError(int code, String message) | 这种方法发送一个状态码(通常是404)以及一个在HTML文档内自动格式化的短消息并发送到客户端。 |
HTTP 状态码实例:
下面的例子将发送407错误代码到客户端浏览器,浏览器将显示“需要验证! ! !”的消息。
<html>
<head>
<title>Setting HTTP Status Code</title>
</head>
<body>
<%
// Set error code and reason.
response.sendError(407, "Need authentication!!!" );
%>
</body>
</html>
现在调用上述代码,JSP将显示如下所示的结果:
测试工程:https://github.com/easonjim/5_java_example/tree/master/jspbasics/test6
JSP中HTTP状态码的更多相关文章
- 19.在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?)写出http常见的状态码和含义,至少5个.[完善题目]
状态401代表未被授权,header("Location:www.xxx.php"); 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. 300 ...
- 网站建设中HTTP状态码的奥秘
在网络营销中,站长经常会遇到一些HTTP状态码的问题,不懂HTTP状态码那么做SEO优化就无从谈起,下面是脉凌网络对HTTP状态码总结的一览表. 1xx:请求收到,继续处理 2xx:操作成功收到,分析 ...
- php笔记06:http响应中的状态码
首先我们看一个360浏览器中使用开发截图如下: 上面的Status Code: OK (这个就是状态码) 1.状态码主要用于服务器对请求的处理结果,它是一个三位的十进制数.响应状态码分为5类,如下所 ...
- 关于 RESTful API 中 HTTP 状态码的定义
最近正好使用了一会儿 Koa ,在这说一下自己对各个 请求码的见解和使用场景,懒人直接看 200.400.401.403.404.500 就可以了. 其中 2XX/3XX 其实都是请求成功,但是结果不 ...
- http协议中的状态码(status code),超文本传输协议状态码
HTTP协议,又叫超文本传输协议. 在项目的开发过程中,前后端交互,这个用的是最多的,在后端给我的的接口调用时,我们往往先查看这个协议的状态码,状态码正常了,才进一步去看我们从后太拿的数据,是否为我们 ...
- JSP常见的状态码
1.404错误 -- 找不到访问的页面或资源 a.URL输入错误: b.未部署项目. 2.500错误 -- JSP页面代码有错误 3.302状态码+200状态码 -- 重定向 4.200状态码 -- ...
- Shell中退出状态码exit
shell中运行的每个命令都使用退出状态码(exit status)来告诉shell它完成了处理.退出状态码是一个0~255之间的整数值,在命令结束时由命令传回shell. 1 .查看退出状态码 Li ...
- HTTP/1.0中,状态码200 301 304 403 404 500的含义?
200 OK 服务器成功处理了请求 301 重定向,请求的URL已移走 304未修改,客户的缓存资源是最新的,要客户端使用缓存 403禁止,请求被服务器拒绝了 404未找到资源 500内部服务器错误, ...
- HTTP状态码302、303和307的故事
今日读书,无法理解HTTP302.303.307状态码的来龙去脉,决定对其做深究并总结于本文. <HTTP权威指南>第3章在讲解30X状态码时,完全没有讲清楚为什么要有 ...
随机推荐
- 微信“摇一摇·周边”正式开放
今日,在微信公开课第三季长沙站现场,微信团队宣布“摇一摇·周边”(以下简称“摇周边”)正式对外开放.拥有微信认证的公众帐号商户,均可通过摇周边的商户申请平台(https://zb.weixin.qq. ...
- [翻译] API测试最佳实践 - 组织你的测试
组织你的测试 适用级别:初学者 在最底层,一个测试步骤(Test Step)用来验证一个单独的操作.组合若干测试步骤到测试用例,允许你验证那些被分隔出来的一个一个的功能,这些功能是应用程序所需要的.接 ...
- 认识MySQL Replication
MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instance 中的数据完整的复制到另外一个 MySQL Server 的 In ...
- CentOS 6.4 php-fpm 添加service 添加平滑启动/重启
nginx通过FastCGI运行PHP比Apache包含PHP环境有明显的优势,最近有消息称,PHP5.4将很有可能把PHP-FPM补丁包含在内核里,nginx服务器平台上运行PHP将更加轻松,下面我 ...
- Android(java)学习笔记196:ContentProvider使用之内容观察者01
1. 内容观察者 不属于四大组件,只是内容提供者ContentProvider对应的小功能. 如果发现数据库内容变化了,就会立刻观察到. 下面是逻辑图: 当A应用中银行内部的数据发生变化的 ...
- hystrix 解决服务雪崩效应
1.服务雪崩效应 默认情况下tomcat只有一个线程池去处理客户端发送的所有服务请求,这样的话在高并发情况下,如果客户端所有的请求堆积到同一个服务接口上, 就会产生tomcat的所有线程去处理该服务接 ...
- 正则表达式,匹配查找函数(preg_match_all)flags参数对比
格式: int preg_match_all ( string pattern, string subject, array matches [, int flags] ) 参数 flags 选项有以 ...
- vue相关技术
vuejs2.0:渐进式JavaScript框架,易用.灵活.高效,似乎任何规模的应用都适用. element:基于vuejs2.0的ui组件库. vue-router:一般单页面应用spa都要用到的 ...
- Maven的pom报错的解决方法
如果在MyEclipse里面导入项目,导入不了,如下图 接下来可以点击Import Maven Projects里的Action那一行Resolve Later. 点击Do Not Execute(a ...
- 原生j获取元素的几种方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...