`
endual
  • 浏览: 3513448 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

服务器状态码的一些说明 经典的404还有说明呢?

    博客分类:
  • java
 
阅读更多

package endual;

 

import java.io.IOException;

import java.io.PrintWriter;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

/**

 * 100-199 表示的是信息性的,标示客户应该采取的其他动作

 * 200-299 表示的是请求成功了

 * 300-399 表示的值用于那些已经移走的文件,常常包括location报头,指出新的地址

 * 400-499 表示的是由于客户端引起的

 * 500-599 表明由客户引发的错误

 * 

 * 100 Continue 继续

 * 如果服务器接收到的值是100-continue的Expect的请求报头,这表示客户程序在询问是否可以在随后的

 * 请求中发送附属文档。这种情况下,服务器应该以状态100回应,告诉客户程序继续下去。或者使用417告诉浏览器

 * 不接收该文档,这是http1.1新引人的

 * 

 * 200 表示OK

 * 200表示一切正常,如果是get和post 那么文档后面就跟在后面,对于serlet,这是默认值,如果没有调用setStatus,那么默认值就是200了

 * 

 * 202 Acceoted 已经接收

 * 202告诉客户请求已经接收了 但处理尚未完成

 * 

 * 204 No Content, 没有新的文档

 * 状态代码 204 要求浏览器继续显示之前的文档,因为没有新的文档,如果用户周期性的单击reload按钮来重新

 * 载入页面,那么这个行为就比较有用,您可要确定前面的页面已经是最新的了

 * 

 * 205 重置内容

 * 表示没有心的文档,但是浏览器应该重置文档视图,因此这个状态代码用来指示游览器消除表单的字段。它是HTTP1.1新引人

 * 的状态的代码

 * 

 * 301 表示文档被移动到别的地方,文档的新URL在location响应报头中给出,浏览器应该依据这个链接跳转到新的url

 * 

 * 302 找到

 * 这个值类似于301 只是原则上应该将location报头给出的url看做是非永久性的临时代替,在实际中,大多数的浏览器都是等同的对待301和302

 * 

 * 307类似

 *  400 错误的请求

 *  400 表示的是客户请求中含有语法的错误

 *  401 为授权

 *  401表示的是客户程序视图访问密码保护的页面,但是在请求的authorization的报头中没有正确的身份标示信息。

 *  相应必须www-authenticate报头。

 *  403 资源不可用

 *  状态代码403 表示服务器拒绝提供相关的资源,不管是否拥有授权,这个状态常常是由服务器上文件或者目录的许可权限到导致的

 *  

 *  404 未找到

 *  页面没有。在给定的地址找补到任何的资源。这个值的标准的no such page相应。由于这个相应太过常用而且有效,因此在httpservletrespones

 *  类中为它提供了一个专门的方法,就是sendError("message")。

 *  

 *  405 方法不允许

 *  405表示的值,这个特定资源不预习使用该方法请求,get post head put delete 这是1.1新引人的代码

 *  417 期望不能满足

 *  如果服务器接收到的值为100-continue的Excep请求报头,那么表示客户程序在询问是否可以在后续的请求中发送附加的文档。

 *  500 服务器内部错误了,服务器内部陷入了混论的不正常的代码 它常常是由于cgi程序或servlet崩溃或饭后格式不正确的报头而造成的

 *  

 *  501 未实现

 *  501 状态通知客户程序,服务器不支持能够满足该请求的功能,它用于表示服务器不支持客户程序的命令,比如put

 *  

 *  503 服务器不可以用

 *  状态代码503表示,由于维护工作或者是超负荷工作,服务器不能做出相应,例如如果线程池或者数据库连接池当前被全部占有那么servklet

 *  可能就要返回这个报头了

 *  

 *  505 不支持http版本

 *  505代码表示服务器不支持请求行中给出的http版本,这是http1.1引入的状态代码

 * 

 * @author Endual

 *

 */

public class SetStatueServlet extends HttpServlet {

 

/**

* The doGet method of the servlet. <br>

*

* This method is called when a form has its tag value method equals to get.

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

 

response.setContentType("text/html");

/**

* 设置的是任意的状态代码的,需要使用的是setStatus方法。如果相应的是状态代码比较特殊,并且伴有相关的文档内容

* 那一定要再用printWriter实际返回任何内容之前调用setStatus,之所以需要这样做,是因为http请求的有状态行,一个或者多个

* 行头,一个空行,以及实际的文档安装比较理出的次序组成的

*/

response.setStatus(1440) ;

/**

* 虽然设置状态代码的调用方法是直接调用的response.setStatue(int)

* 但是,httpServletRespone专门为两种常见的情况提供了快捷的方法。

* 需要注意的是,这两个方法都是抛出的是IOException异常,而setStatue不会

* 由于doGet和doPost方法拍抛出的是IOException因此仅当将相应对象床单给其他方法的时候,才需要注意这样昂的情况

*/

response.sendRedirect("") ; //命令游览器连接到新的位子中,生成302相应以及location报头,给出新的文档的url

response.sendError(100) ; // 状态404用于服务器没有找到文档的情况。sendError方法发送状态代码以及一小段简短的消息,而这个消息会被自动安排到html文档中发送给客户的

PrintWriter out = response.getWriter();

out

.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("<HTML>");

out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");

out.println("  <BODY>");

out.print("    This is ");

out.print(this.getClass());

out.println(", using the GET method");

out.println("  </BODY>");

out.println("</HTML>");

out.flush();

out.close();

}

 

/**

* The doPost method of the servlet. <br>

*

* This method is called when a form has its tag value method equals to post.

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

 

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out

.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("<HTML>");

out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");

out.println("  <BODY>");

out.print("    This is ");

out.print(this.getClass());

out.println(", using the POST method");

out.println("  </BODY>");

out.println("</HTML>");

out.flush();

out.close();

}

 

}


分享到:
评论

相关推荐

    服务器返回状态码图解

    服务器返回状态码图解,通过一张图来反映所有的返回状态码。图形更能明确说明。

    http状态码详解.docx

    HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码...

    Web应用安全:HTTP状态码.pptx

    HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事。 状态码位于HTTP Response 的第一行中,会返回一个”三位数字的状态码“和一个“状态消息”。 ”三位数字的状态码“便于程序进行处理, “状态消息”更...

    HTTP状态码表示意思

    用于表示服务器已成功处理了请求的状态代码。 代码 说明 200(成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果您的服务器log日志文件显示为此状态,那么,这表示请求成功。 201(已创建)...

    HTTP状态码

    表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换...

    网站运营总监全攻略及网站常见状态码及IIS错误代码大全

    随着网络时代的不断发展,互联网已逐步成为我们生活的一部分,当然也成为了当今世界的另一大产业平台。...Http请求的状态码由于比较隐蔽,所以很容易被站长忽略,但如果状态码使用不当往往会对网站产生很大的影响

    常见的HTTP状态码

    HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码...

    网站状态码

    各种网站状态码,注解说明。 HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由RFC 2616规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。...

    收集并展示众多服务器状态的服务StatHub.zip

    总揽Stat Hub 是一个帮您收集并展示众多服务器状态的服务。它由两部分组成,一是服务端,用于接收、储存和展示状态;另一个是客户端,它用于收集并发送状态到服务端。而这一切,您只需要两个二进制文件。演示支持SSL...

    HTTP常见的状态码HTTP Status Code

    HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。 HTTP Status Code 常见的状态码:...

    基于muduo开发的集群聊天服务器c++源码+数据库+使用说明.zip

    基于muduo开发的集群聊天服务器c++源码+数据库+使用说明.zip 基于muduo开发的集群聊天服务器c++源码+数据库+使用说明.zip 基于muduo开发的集群聊天服务器c++源码+数据库+使用说明.zip 【资源说明】 该项目是个人毕设...

    服务器巡检.doc

    若闪烁不正常或指示灯指示颜色不正" " " " "态 "常,则说明系统数据传输将不正常 " " " " "服务器电 "电源连接线是否有松动、接触不良等情况 " " " " "源连接检 " " " " " "查 " " " " " "服务器外 "服务器整体是否有...

    浪潮英信服务器 NF5280M5 用户手册 V1.1.pdf

    浪潮NF5280 M5用户手册,非常详细的原厂手册。初次安装,维保等都可以参考,官网也可以下载到。浪潮NF5280 M5用户手册,非常详细的原厂手册。

    网站日志200 0 64状态码的分析(协议子状态)

    日前,本人接手新站,观察日志发现,只有主页返回200 0 64状态码,其他页面返回正常。 首先,200 0 64状态码肯定是不太合常理,这一点无可厚非,那么究竟200 0 64状态码的返回代表什么呢?网络寻觅,各有所言。  ...

    服务器配置与管理论文.docx

    服务器配置与管理论文 浅析FTP服务器配置与管理中的排错方法 服务器配置与管理论文内容 1FTP工作原理 FTP服务采用客户机/服务器模式,FTP客户机和服务器使用TCP建立连接。FTP服务器使用两个并行的TCP连接来传送文件...

    MOBA游戏的服务端,基于Java的Netty框架编写(源码+说明文档)

    部分说明文档内容: 协议层问题(协议设计) 登录功能 登录--指的是一个玩家在Socket连接上服务器后,还没开始游戏的一种状态,在这种状态下,客户端不应该接受任何关于游戏逻辑的消息。 完成登录功能需要设计...

    Oracle9i的init.ora参数中文说明

    说明: 使用字节或码点语义来指定新列的创建, 如 char, varchar2, clob, nchar, nvarchar2, nclob 列。各种字符集对字符都有各自的定义。在客户机和服务器上使用同一字符集时, 应以该字符集所定义的字符来衡量字符串...

    详解 Nginx代理功能与负载均衡

    1、上一篇中我们在http模块中有下面的配置,当代理遇到状态码为404时,我们把404页面导向百度。 error_page 404 https://www.baidu.com; #错误页 然而这个配置,细心的朋友可以发现他并没有起作用。 如果我们想让他...

    asp.net网站的404错误页面的正确设置方法第1/2页

    当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在。但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋、呆板且对用户不友好,无法给用户提供必要的信息以获取更...

    详细设计说明书

    详细设计说明书 文档标识: 当前版本: 1.0 当前状态: 草稿 发布日期: 2012-8-28 发布  修改历史 日期 版本 作者 修改内容 评审号 变更控制号 2012-8-28 1.0 拓维 新建 ...

Global site tag (gtag.js) - Google Analytics