`
endual
  • 浏览: 3566723 次
  • 性别: 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状态码信息,详细描述了http各状态码的含义

    例如,状态码100(Continue)表明服务器已经接收到请求头,客户端可以继续发送请求体,如果请求体较大,这种方式可以减少不必要的传输时间。101(Switching Protocols)则表示服务器将切换到一个不同的协议,如从...

    服务器返回状态码图解

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

    永大电梯服务器使用说明.pdf

    永大电梯服务器使用说明 永大电梯服务器使用说明是一份关于电梯服务器的使用和调试说明,旨在指导用户正确地使用和维护电梯服务器。该说明涵盖了电梯服务器的基本概念、安装和配置、调试和故障处理等方面的知识。 ...

    标准http问题状态码

    4xx(Client Error 4xx)状态码表示客户端的错误,比如400 Bad Request表示服务器无法理解请求,401 Unauthorized说明请求需要身份验证,403 Forbidden表示服务器拒绝服务,404 Not Found表示请求的资源不存在,405 ...

    HTTP返回状态码表

    HTTP 返回状态码是 Hypertext Transfer Protocol(超文本传输协议)中的一种机制,用于表示服务器对客户端请求的响应结果。状态码是三位数字,第一个数字定义了响应的类别,后两个数字定义了响应的详细信息。 以下...

    DELL服务器R410技术说明书

    DELL服务器R410是一款高效能的企业级服务器,广泛应用于数据中心、企业网络及各种业务需求。本技术说明书旨在提供全面的使用和维护指南,帮助用户深入理解R410的功能特性和日常管理。 首先,了解R410的基础结构至关...

    Nport5630串口服务器说明书.doc

    Nport5630串口服务器说明书 Nport5630串口服务器是一种串口服务器,能够与后台电脑通过网络连接,多个不同的后台电脑可以共同分享一个Nport5630设备。该设备具有多种串口接线方式,包括RS232、RS422/4线、RS485/2线...

    HTTP各状态码生成原理,请求头、响应头各字段含义(爬虫深入必备知识).docx

    首先,HTTP状态码是服务器对客户端请求的反馈,分为五类:1xx(信息性状态码)、2xx(成功状态码)、3xx(重定向状态码)、4xx(客户端错误状态码)和5xx(服务器错误状态码)。例如: 100 Continue 表示客户端已...

    服务器客户端说明

    服务器响应成功后,客户端接收到201状态码和轮巡相关数据。一段时间后,服务器发送FIN标志,关闭连接。 综上所述,无锡监狱项目中的服务器客户端通信基于Reactor模型,通过HTTP/TCP协议进行数据交换,实现了高效...

    NF5280M4 BMC功能说明书.pdf

    管理软件的主要功能是提供服务器管理和监控功能,包括服务器状态监控、日志记录、告警和故障诊断等。同时,该软件还提供了远程管理和维护功能,方便服务器管理员进行服务器管理和维护。 1.2 功能模块 1.2.1 IPMI ...

    批量收录、快照、PR、状态码查询

    "批量收录、快照、PR、状态码查询"这个工具显然聚焦于SEO的核心要素,帮助用户高效地检查这些关键指标。让我们逐一深入理解这些概念,并探讨它们在SEO中的作用。 **批量收录**:搜索引擎会定期抓取网页并将其索引到...

    自己架设聊天服务器(AM_服务端与客户端部署说明书).doc

    自己架设聊天服务器(AM服务端与客户端部署说明书) 在本文档中,我们将详细介绍如何架设聊天服务器,包括AM...同时,在部署过程中可能会遇到一些常见的问题,需要通过检查网络连接、服务器运行状态和配置参数来解决。

    http 500内部服务器错误说明IIS服务器无法解析ASP代码

    在Web开发领域,遇到HTTP状态码500错误时,通常意味着服务器遇到了一个未预期的情况,无法完成请求。对于运行在Microsoft Internet Information Services (IIS)上的ASP(Active Server Pages)应用程序而言,这种...

    关于服务器返回的十四种常见HTTP状态码详解

    14. 其他状态码如402 Payment Required(预留状态码,未广泛使用)、405 Method Not Allowed(请求方法不被支持)、406 Not Acceptable(服务器无法生成符合客户端Accept首部的响应)、408 Request Timeout(服务器...

    Doremi ShowVaultDCP2000说明书

    本说明书涵盖了Doremi ShowVaultDCP2000数字电影服务器的基础操作指南,包括如何从USB设备导入内容、管理电影播放列表以及执行自动化控制等关键功能。通过对这些内容的学习和实践,用户能够更加高效地利用此款数字...

    CMPP HUAWEI错误码分析说明

    - **状态码 `status=102` 和结果码 `result=16`**:此组合表示SCP响应超时,可能是由于SCP服务器响应慢或网络不稳定。 - **其他状态码 `result=17~255`**:表示短消息中心或其他SCP出现问题。 此外,还有一些特定...

    HPE-ProLiant-DL380-Gen10-服务器用户指南.pdf

    最后,HPE DL380 Gen10用户指南还详细介绍了如何使用Systems Insight Display,这是一个系统管理显示界面,用于提供服务器状态的实时反馈和故障诊断信息。它还包含了服务器的物理安装、检查备用电池电量、安装高性能...

Global site tag (gtag.js) - Google Analytics