??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品视频99,午夜精品三级视频福利,欧美一区二区观看视频http://www.aygfsteel.com/sway/category/36537.html彪悍的h生不需要解释,彪悍的代码不需要注释?/description>zh-cnMon, 08 Dec 2008 08:41:51 GMTMon, 08 Dec 2008 08:41:51 GMT60HTTP的状态码http://www.aygfsteel.com/sway/archive/2008/12/08/245042.htmlKevin.ZhongKevin.ZhongMon, 08 Dec 2008 07:51:00 GMThttp://www.aygfsteel.com/sway/archive/2008/12/08/245042.htmlhttp://www.aygfsteel.com/sway/comments/245042.htmlhttp://www.aygfsteel.com/sway/archive/2008/12/08/245042.html#Feedback0http://www.aygfsteel.com/sway/comments/commentRss/245042.htmlhttp://www.aygfsteel.com/sway/services/trackbacks/245042.html 完整?HTTP 1.1规范说明书来自于RFC 2616Q你可以在http://www.rfc-editor.org/在线查阅。HTTP 1.1的状态码被标Cؓ新特性,因ؓ许多览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客LQ支持协议版本可以通过调用request.getRequestProtocol来检查?

本部分余下的内容会详l地介绍 HTTP 1.1中的状态码。这些状态码被分Z大类Q?

100-199 用于指定客户端应相应的某些动作?
200-299 用于表示h成功?
300-399 用于已经Ud的文件ƈ且常被包含在定位头信息中指定新的地址信息?
400-499 用于指出客户端的错误?
500-599 用于支持服务器错误?

HttpServletResponse 中的帔R代表兌不同标准消息的状态码。在servletE序中,你会更多地用到这些常量的标识来用状态码。例如:你一般会使用 response.setStatus(response.SC_NO_CONTENT)而不? response.setStatus(204)Q因为后者不易理解而且ҎD错误。但是,你应当注意到服务器允许对消息d的改变,而客L只注意状 态码的数字倹{所以服务器可能只返?HTTP/1.1 200 而不?HTTP/1.1 200 OK?

100 (Continue/l箋)
? 果服务器收到头信息中带有100-continue的请求,q是指客L询问是否可以在后l的h中发送附件。在q种情况下,服务器用 100(SC_CONTINUE)允许客户端l或?17 (Expectation Failed)告诉客户端不同意接受附g。这个状态码? HTTP 1.1中新加入的?

101 (Switching Protocols/转换协议)
101 (SC_SWITCHING_PROTOCOLS)状态码是指服务器将按照其上的头信息变ؓ一个不同的协议。这?HTTP 1.1中新加入的?

200 (OK/正常)
200 (SC_OK)的意思是一切正常。一般用于相应GET和POSTh。这个状态码对servlet是缺省的Q如果没有调用setStatusҎ的话Q就会得?00?

201 (Created/已创?
201 (SC_CREATED)表示服务器在h的响应中建立了新文档Q应在定位头信息中给出它的URL?br />
202 (Accepted/接受)
202 (SC_ACCEPTED)告诉客户端请求正在被执行Q但q没有处理完?

203 (Non-Authoritative Information/非官方信?
状态码203 (SC_NON_AUTHORITATIVE_INFORMATION)是表C文档被正常的返回,但是׃正在使用的是文档副本所以某些响应头信息可能不正。这?HTTP 1.1中新加入的?

204 (No Content/无内?
在ƈ没有新文档的情况下,204 (SC_NO_CONTENT)保览器l显C先前的文档。这各状态码对于用户周期性的重蝲某一非常有用,q且你可以确定先前的面是否已经更新。例如,某个servlet可能作如下操作:
int pageVersion =Integer.parseInt(request.getParameter("pageVersion"));
if (pageVersion >;= currentVersion) {
   response.setStatus(response.SC_NO_CONTENT);
} else {
       // Create regular page
}
? 是,q种Ҏ寚w过h响应头信息或{h的HTML标记自动重蝲的页面v作用Q因为它会返回一?04状态码停止以后的重载。但ZJavaScript 脚本的自动重载在q种情况下仍焉要能够v作用。可以阅L?.2 ( HTTP 1.1 Response Headers and Their Meaning/HTTP 1.1响应头信息以及他们的意义)部分的详l讨论?

205 (Reset Content/重置内容)
重置内容205 (SC_RESET_CONTENT)的意思是虽然没有新文档但览器要重置文档昄。这个状态码用于览器清除表单域。这?HTTP 1.1中新加入的?

206 (Partial Content/局部内?
206 (SC_PARTIAL_CONTENT)是在服务器完成了一个包含Range头信息的局部请求时被发送的。这?HTTP 1.1中新加入的?

300 (Multiple Choices/多重选择)
300 (SC_MULTIPLE_CHOICES)表示被请求的文档可以在多个地Ҏ刎ͼq将在返回的文档中列出来。如果服务器有首选设|,首选项会被列于定位响应头信息中?

301 (Moved Permanently)
301 (SC_MOVED_PERMANENTLY)状态是指所h的文档在别的地方Q文档新的URL会在定位响应头信息中l出。浏览器会自动连接到新的URL?

302 (Found/扑ֈ)
? 301有些cMQ只是定位头信息中所l的URL应被理解Z时交换地址而不是永久的。注意:?HTTP 1.0中,消息是时移?Moved Temporarily)的而不是被扑ֈQ因此HttpServletResponse中的帔R是SC_MOVED_TEMPORARILY不是我们以ؓ 的SC_FOUND?

注意
代表状态码302的常量是SC_MOVED_TEMPORARILY而不是SC_FOUND?

? 态码302是非常有用的因ؓ览器自动连接在定ؓ响应头信息中l出的新URL。这非常有用Q而且为此有一个专门的Ҏ——sendRedirect。? response.sendRedirect(url)比调? response.setStatus(response.SC_MOVED_TEMPORARILY)? response.setHeader("Location", url)多几个好处。首先,response.sendRedirect(url)Ҏ明显要简单和Ҏ。第二,servlet自动建立一保存这一q接 以提供给那些不能自动转向的浏览器昄。最后,在servlet 2.2版本QJ2EE中的版本Q中QsendRedirect能够处理相对路径Q自动{换ؓl对路径。但是你只能?.1版本中用绝对\径?

? 果你用戯{向到站点的另一中Q你要用 HttpServletResponse 中的 encodeURL Ҏ传送URL。这么做可预防不断用基于URL重写的会话跟t的情况。URL重写是一U在你的|站跟踪不?cookies 的用LҎ。这是通过在每一个URLN附加路径信息实现的,但是 servlet 会话跟踪API会自动的注意q些l节。会话跟t在W九章讨论,q且L使用 encodeURL 的习惯会使以后添加会话跟t的功能更容易很多?

核心技?br /> ? 果你用戯{向到你的站点的其他页面,?response.sendRedirect(response.encodeURL(url)) 的方式事先计划好会话跟踪(session tracking)要比只是调用 response.sendRedirect(url) 好的多?

q? 个状态码有时可以?01交换使用。例如,如果你错误的讉K了http://host/~userQ\径信息不完整Q,有些服务器就会回?01状态码? 有些则回?02。从技术上_如果最初的h是GET览器只是被假定自动转向。如果想了解更多l节Q请看状态码307的讨论?

303 (See Other/参见其他信息)
q个状态码?301?02 怼Q只是如果最初的h?POSTQ那么新文档Q在定位头信息中l出Q药?GET 扑֛。这个状态码是新加入 HTTP 1.1中的?

304 (Not Modified/Z?
? 客户端有一个缓存的文档Q通过提供一?If-Modified-Since 头信息可指出客户端只希望文档在指定日期之后有所修改时才会重载此文档Q用q种方式可以q行有条件的h?04 (SC_NOT_MODIFIED)是指~冲的版本已l被更新q且客户端应h文档。另外,服务器将q回h的文档及状态码 200。servlet一般情况下不会直接讄q个状态码。它们会实现getLastModifiedҎq根据修正日期让默认服务Ҏ处理有条件的? 求。这个方法的例程已在2.8部分(An Example Using Servlet Initialization and Page Modification Dates/一个用servlet初始化和面修正日期的例?l出?

305 (Use Proxy/使用代理)
305 (SC_USE_PROXY)表示所h的文档要通过定位头信息中的代理服务器获得。这个状态码是新加入 HTTP 1.1中的?

307 (Temporary Redirect/临时重定?
? 览器处理307状态的规则?02相同?07状态被加入?HTTP 1.1中是׃许多览器在收到302响应时即使是原始消息为POST的情况下仍然执行了错误的转向。只有在收到303响应时才假定览器会在POST? 求时重定向。添加这个新的状态码的目的很明确Q在响应?03时按照GET和POSTh转向Q而在307响应时则按照GETh转向而不是POST? 求。注意:׃某些原因在HttpServletResponse中还没有与这个状态对应的帔R。该状态码是新加入HTTP 1.1中的?

注意
?HttpServletResponse 中没?SC_TEMPORARY_REDIRECT 帔RQ所以你只能昄的?07状态码?

400 (Bad Request/错误h)
400 (SC_BAD_REQUEST)指出客户端请求中的语法错误?

401 (Unauthorized/未授?
401 (SC_UNAUTHORIZED)表示客户端在授权头信息中没有有效的n份信息时讉K受到密码保护的页面。这个响应必d含一个WWW- Authenticate的授权信息头。例如,在本?.5部分中的“Restricting Access to Web Pages./限制讉KWebc?#8221;

403 (Forbidden/止)
403 (SC_FORBIDDEN)的意思是除非拥有授权否则服务器拒l提供所h的资源。这个状态经怼׃服务器上的损坏文件或目录许可而引赗?

404 (Not Found/未找?
404 (SC_NOT_FOUND)状态每个网l程序员可能都遇到过Q他告诉客户端所l的地址无法扑ֈM资源。它是表C?#8220;没有所讉K面”的标准方式。这个状 态码是常用的响应q且在HttpServletResponsecM有专门的Ҏ实现它:sendError("message")。相对于 setStatus使用sendError得好处是Q服务器会自动生成一个错误页来显C错误信息。但是,Internet Explorer 5览器却默认忽略你发挥的错误面q显C其自定义的错误提示面Q虽然微软这么做q反?HTTP 规范。要关闭此功能,在工兯单里Q选择Internet选项Q进入高U标{NQƈ认“昄友好?HTTP 错误信息”选项Q在我的览器中是倒数W?各选项Q没有被选。但是很有用户知道此选项Q因此这个特性被IE5隐藏了v来用户无法看到你所q回l用L 信息。而其他主浏览器及IE4都完全的昄服务器生成的错误提示面。可以参考图6-3?-4中的例子?

核心警告
默认情况下,IE5忽略服务端生成的错误提示面?

405 (Method Not Allowed/Ҏ未允?
405 (SC_METHOD_NOT_ALLOWED)指出hҎ(GET, POST, HEAD, PUT, DELETE, {?Ҏ些特定的资源不允怋用。该状态码是新加入 HTTP 1.1中的?

406 (Not Acceptable/无法讉K)
406 (SC_NOT_ACCEPTABLE)表示h资源的MIMEcd与客L中Accept头信息中指定的类型不一致。见本书7.2部分中的? 7.1(HTTP 1.1 Response Headers and Their Meaning/HTTP 1.1响应头信息以及他们的意义)中对MIMEcd的介l?06是新加入 HTTP 1.1中的?

407 (Proxy Authentication Required/代理服务器认证要?
407 (SC_PROXY_AUTHENTICATION_REQUIRED)?01状态有些相|只是q个状态用于代理服务器。该状态指出客L必须通过? 理服务器的认证。代理服务器q回一个Proxy-Authenticate响应头信息给客户端,q会引v客户端用带有Proxy- Authorizationh的头信息重新q接。该状态码是新加入 HTTP 1.1中的?

408 (Request Timeout/h时)
408 (SC_REQUEST_TIMEOUT)是指服务端等待客L发送请求的旉q长。该状态码是新加入 HTTP 1.1中的?

409 (Conflict/冲突)
该状态通常与PUTh一同用,409 (SC_CONFLICT)状态常被用于试图上传版本不正确的文件时。该状态码是新加入 HTTP 1.1中的?

410 (Gone/已经不存?
410 (SC_GONE)告诉客户端所h的文档已l不存在q且没有更新的地址?10状态不同于404Q?10是在指导文档已被U走的情况下使用Q?04则用于未知原因的无法讉K。该状态码是新加入 HTTP 1.1中的?

411 (Length Required/需要数据长?
411 (SC_LENGTH_REQUIRED)表示服务器不能处理请求(假设为带有附件的POSThQ,除非客户端发送Content-Length头信息指出发送给服务器的数据的大。该状态是新加?HTTP 1.1的?

412 (Precondition Failed/先决条g错误)
412 (SC_PRECONDITION_FAILED)状态指求头信息中的某些先决条g是错误的。该状态是新加?HTTP 1.1的?

413 (Request Entity Too Large/h实体q大)
413 (SC_REQUEST_ENTITY_TOO_LARGE)告诉客户端现在所h的文档比服务器现在想要处理的要大。如果服务器认ؓ能够q一D|间处理,则会包含一个Retry-After的响应头信息。该状态是新加?HTTP 1.1的?

414 (Request URI Too Long/hURIq长)
414 (SC_REQUEST_URI_TOO_LONG)状态用于在URIq长的情冉|。这里所指的“URI”是指URL中主机、域名及端口号之后的内容。例 如:在URL--http://www.y2k-disaster.com:8080/we/look/silly/now/中URI是指/we /look/silly/now/。该状态是新加?HTTP 1.1的?

415 (Unsupported Media Type/不支持的媒体格式)
415 (SC_UNSUPPORTED_MEDIA_TYPE)意味着h所带的附g的格式类型服务器不知道如何处理。该状态是新加?HTTP 1.1的?

416 (Requested Range Not Satisfiable/h范围无法满)
416表示客户端包含了一个服务器无法满的Range头信息的h。该状态是新加?HTTP 1.1的。奇怪的是,在servlet 2.1版本API的HttpServletResponse中ƈ没有相应的常量代表该状态?

注意
在servlet 2.1的规范中Q类HttpServletResponseq没有SC_REQUESTED_RANGE_NOT_SATISFIABLE q样的常量,所以你只能直接使用416。在servlet 2.2版本之后都包含了此常量?

417 (Expectation Failed/期望p|)
? 果服务器得到一个带?00-continue值的Expecth头信息,q是指客L正在询问是否可以在后面的h中发送附件。在q种情况下,服务? 也会用该状?417)告诉览器服务器不接收该附g或用100 (SC_CONTINUE)状态告诉客L可以l箋发送附件。该状态是新加? HTTP 1.1的?

500 (Internal Server Error/内部服务器错?
500 (SC_INTERNAL_SERVER_ERROR) 是常用的“服务器错?#8221;状态。该状态经常由CGIE序引v也可能(但愿不会如此Q)由无法正常运行的或返回头信息格式不正的servlet引v?

501 (Not Implemented/未实?
501 (SC_NOT_IMPLEMENTED)状态告诉客L服务器不支持h中要求的功能。例如,客户端执行了如PUTq样的服务器q不支持的命令?

502 (Bad Gateway/错误的网?
502 (SC_BAD_GATEWAY)被用于充当代理或|关的服务器Q该状态指出接收服务器接收到远端服务器的错误响应?

503 (Service Unavailable/服务无法获得)
? 态码503 (SC_SERVICE_UNAVAILABLE)表示服务器由于在l护或已l超载而无法响应。例如,如果某些U程或数据库q接池已l没有空闲则 servlet会返回这个头信息。服务器可提供一个Retry-After头信息告诉客L什么时候可以在试一ơ?

504 (Gateway Timeout/|关时)
该状态也用于充当代理或网关的服务器;它指出接收服务器没有从远端服务器得到及时的响应。该状态是新加?HTTP 1.1的?

505 (HTTP Version Not Supported/不支持的 HTTP 版本)
505 (SC_HTTP_VERSION_NOT_SUPPORTED)状态码是说服务器ƈ不支持在h中所标明 HTTP 版本。该状态是新加?HTTP 1.1的?


Kevin.Zhong 2008-12-08 15:51 发表评论
]]>
վ֩ģ壺 ľ| Դ| ѽ| | | | | | ƽ| ɽ| | | ̨| | ɽʡ| Ϸ| | | | | Դ| | ٸ| | ®| ʤ| | | | ˰| | Ƹ| ƶ| | ֹ| | ڻ| ԭ| ȷ| | ̨ɽ|