http状态码大全304、201、203等等

更新时间:2023-06-14 16:44:25 阅读: 评论:0

http状态码⼤全304、201、203等等
公输教案常见HTTP状态码⼤全
  我们经常会遇到404、500、302等提⽰,它们究竟是什么意思呢?除了这⼏个常见的状态码外,还有哪些我们没有遇到过的但有可能出现的状态码呢?⽹站的http状态对于⽹站维护⼈员来说是相当重要的,当⽹站出现问题的时候,我们⾸先要诊断⼀下⽹站的http状态,从⽽进⼀步确认哪⾥出现的问题,下⾯IT百科就和⼤家分享⼀下⼀些HTTP状态码知识。
  完整的HTTP 1.1规范说明书来⾃于RFC 2616,HTTP 1.1的状态码被标记为新特性,因为许多浏览器只⽀持HTTP 1.0。你应只把状态码发送给⽀持HTTP 1.1的客户端,⽀持协议版本可以通过调⽤RequestProtocol来检查。本部分余下的内容会详细地介绍HTTP 1.1中的状态码。这些状态码被分为五⼤类:
  100-199 ⽤于指定客户端应相应的某些动作。
  200-299 ⽤于表⽰请求成功。
  300-399 ⽤于已经移动的⽂件并且常被包含在定位头信息中指定新的地址信息。
  400-499 ⽤于指出客户端的错误。
  500-599 ⽤于⽀持服务器错误。
  HttpServletRespon中的常量代表关联不同标准消息的状态码。在rvlet程序中,你会更多地⽤到这些常量的标识来使⽤状态码。例如:你⼀般会使⽤respon.tStatus(respon.SC_NO_CONTENT)⽽不是 respon.tStatus(204),因为后者不易理解⽽且容易导致错误。但是,你应当注意到服务器允许对消息轻微的改变,⽽客户端只注意状态码的数字值。所以服务器可能只返回 HTTP/1.1 200 ⽽不是 H TTP/1.1 200 OK。比热容实验
  100 (Continue/继续)
  如果服务器收到头信息中带有100-continue的请求,这是指客户端询问是否可以在后续的请求中发送附件。在这种情况下,服务器⽤10 0(SC_CONTINUE)允许客户端继续或⽤417 (Expectation Failed)告诉客户端不同意接受附件。这个状态码是 HTTP 1.1中新加⼊的。
  101 (Switching Protocols/转换协议)
  101 (SC_SWITCHING_PROTOCOLS)状态码是指服务器将按照其上的头信息变为⼀个不同的协议。这是 HTTP 1.1中新加⼊的。
  200 (OK/正常)
  200 (SC_OK)的意思是⼀切正常。⼀般⽤于相应GET和POST请求。这个状态码对rvlet是缺省的;如果没有调⽤tStatus⽅法的话,就会得到200。
  201 (Created/已创建)
  201 (SC_CREATED)表⽰服务器在请求的响应中建⽴了新⽂档;应在定位头信息中给出它的URL。
  202 (Accepted/接受)
  202 (SC_ACCEPTED)告诉客户端请求正在被执⾏,但还没有处理完。
  203 (Non-Authoritative Information/⾮官⽅信息)
  状态码203 (SC_NON_AUTHORITATIVE_INFORMATION)是表⽰⽂档被正常的返回,但是由于正在使⽤的是⽂档副本所以某些响应头信息可能不正确。这是 HTTP 1.1中新加⼊的。
  204 (No Content/⽆内容)
be动词口诀  在并没有新⽂档的情况下,204 (SC_NO_CONTENT)确保浏览器继续显⽰先前的⽂档。这各状态码对于⽤户周期性的重载某⼀页⾮常
  在并没有新⽂档的情况下,204 (SC_NO_CONTENT)确保浏览器继续显⽰先前的⽂档。这各状态码对于⽤户周期性的重载某⼀页⾮常有⽤,并且你可以确定先前的页⾯是否已经更新。例如,某个rvlet可能作如下操作:
金枝玉叶盆景  int pageVersion =Integer.Parameter("pageVersion"));
  if (pageVersion >;= currentVersion) {
  respon.tStatus(respon.SC_NO_CONTENT);
  } el {
  // Create regular page
  }
  但是,这种⽅法对通过刷新响应头信息或等价的HTML标记⾃动重载的页⾯起作⽤,因为它会返回⼀个204状态码停⽌以后的重载。但基于JavaScript脚本的⾃动重载在这种情况下仍然需要能够起作⽤。可以阅读本书7.2 ( HTTP 1.1 Respon Headers and Their Meaning/H TTP 1.1响应头信息以及他们的意义)部分的详细讨论。
  205 (Ret 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)表⽰被请求的⽂档可以在多个地⽅找到,并将在返回的⽂档中列出来。如果服务器有⾸选设置,⾸选项将会被列于定位响应头信息中。
  301 (Moved Permanently)
  301 (SC_MOVED_PERMANENTLY)状态是指所请求的⽂档在别的地⽅;⽂档新的URL会在定位响应头信息中给出。浏览器会⾃动连接到新的URL。
  302 (Found/找到)
  与301有些类似,只是定位头信息中所给的URL应被理解为临时交换地址⽽不是永久的。注意:在 HTTP 1.0中,消息是临时移动(Move d Temporarily)的⽽不是被找到,因此HttpServletRespon中的常量是SC_MOVED_TEMPORARILY不是我们以为的SC_FOUND。
  注意
  代表状态码302的常量是SC_MOVED_TEMPORARILY⽽不是SC_FOUND。
  状态码302是⾮常有⽤的因为浏览器⾃动连接在定为响应头信息中给出的新URL。这⾮常有⽤,⽽且为此有⼀个专门的⽅法——ndR edirect。使⽤respon.ndRedirect(url)⽐调⽤respon.tStatus(respon.SC_MOVED_TEMPORARILY)和respon.tHeader("Loca tion", url)多⼏个好处。⾸先,respon.ndRedirect(url)⽅法明显要简单和容易。第⼆,rvlet⾃动建⽴⼀页保存这⼀连接以提供给那些不
能⾃动转向的浏览器显⽰。最后,在rvlet 2.2版本(J2EE中的版本)中,ndRedirect能够处理相对路径,⾃动转换为绝对路径。但是你只能在2.1版本中使⽤绝对路径。
  如果你将⽤户转向到站点的另⼀页中,你要⽤ HttpServletRespon 中的 encodeURL ⽅法传送URL。这么做可预防不断使⽤基于URL 重写的会话跟踪的情况。URL重写是⼀种在你的⽹站跟踪不使
⽤ cookies 的⽤户的⽅法。这是通过在每⼀个URL尾部附加路径信息实现的,但是 rvlet 会话跟踪API会⾃动的注意这些细节。会话跟踪在第九章讨论,并且养成使⽤ encodeURL 的习惯会使以后添加会话跟踪的功能更容易很多。
  核⼼技巧
  如果你将⽤户转向到你的站点的其他页⾯,⽤ respon.deURL(url)) 的⽅式事先计划好会话跟踪(ssion
  如果你将⽤户转向到你的站点的其他页⾯,⽤ respon.deURL(url)) 的⽅式事先计划好会话跟踪(ssion tracking)要⽐只是调⽤ respon.ndRedirect(url) 好的多。
  303 (See Other/参见其他信息)
  这个状态码和 301、302 相似,只是如果最初的请求是 POST,那么新⽂档(在定位头信息中给出)药⽤ GET 找回。这个状态码是新加⼊HTTP 1.1中的。
  304 (Not Modified/为修正)
  当客户端有⼀个缓存的⽂档,通过提供⼀个 If-Modified-Since 头信息可指出客户端只希望⽂档在指
定⽇期之后有所修改时才会重载此⽂档,⽤这种⽅式可以进⾏有条件的请求。304 (SC_NOT_MODIFIED)是指缓冲的版本已经被更新并且客户端应刷新⽂档。另外,服务器将返回请求的⽂档及状态码 200。rvlet⼀般情况下不会直接设置这个状态码。它们会实现getLastModified⽅法并根据修正⽇期让默认服务⽅法处理有条件的请求。这个⽅法的例程已在2.8部分(An Example Using Servlet Initialization and Page Modification Dates/⼀个使⽤rvlet初始化和页⾯修正⽇期的例⼦)给出。
  305 (U Proxy/使⽤代理)
  305 (SC_USE_PROXY)表⽰所请求的⽂档要通过定位头信息中的代理服务器获得。这个状态码是新加⼊ HTTP 1.1中的。
  307 (Temporary Redirect/临时重定向)
  浏览器处理307状态的规则与302相同。307状态被加⼊到 HTTP 1.1中是由于许多浏览器在收到302响应时即使是原始消息为POST的情况下仍然执⾏了错误的转向。只有在收到303响应时才假定浏览器会在POST请求时重定向。添加这个新的状态码的⽬的很明确:在响应为3 03时按照GET和POST请求转向;⽽在307响应时则按照GET请求转向⽽不是POST请求。注意:由于某些原因在HttpServletRespon中还没有与这个状态对应的常量。该状态码是新加⼊HTTP 1.1中的。
  注意
  在 HttpServletRespon 中没有 SC_TEMPORARY_REDIRECT 常量,所以你只能显⽰的使⽤307状态码。
  400 (Bad Request/错误请求)
  400 (SC_BAD_REQUEST)指出客户端请求中的语法错误。
  401 (Unauthorized/未授权)
  401 (SC_UNAUTHORIZED)表⽰客户端在授权头信息中没有有效的⾝份信息时访问受到密码保护的页⾯。这个响应必须包含⼀个WW W-Authenticate的授权信息头。例如,在本书4.5部分中的“Restricting Access to Web Pages./限制访问Web页。”
  403 (Forbidden/禁⽌)
  403 (SC_FORBIDDEN)的意思是除⾮拥有授权否则服务器拒绝提供所请求的资源。这个状态经常会由于服务器上的损坏⽂件或⽬录许可⽽引起。
  404 (Not Found/未找到)
  404 (SC_NOT_FOUND)状态每个⽹络程序员可能都遇到过,他告诉客户端所给的地址⽆法找到任何资源。它是表⽰“没有所访问页⾯”的标准⽅式。这个状态码是常⽤的响应并且在HttpServletRespon类中有专门的⽅法实现它:ndError("message")。相对于tStatus使⽤ndError得好处是:服务器会⾃动⽣成⼀个错误页来显⽰错误信息。但是,Internet Explorer 5浏览器却默认忽略你发挥的错误页⾯并显⽰其⾃定义的错误提⽰页⾯,虽然微软这么做违反了 HTTP 规范。要关闭此功能,在⼯具菜单⾥,选择Internet选项,进⼊⾼级标签页,并确认“显⽰友好的 HTTP 错误信息”选项(在我的浏览器中是倒数第8各选项)没有被选。但是很少有⽤户知道此选项,因此这个特性被IE5隐藏了起来使⽤户⽆法看到你所返回给⽤户的信息。⽽其他主流浏览器及IE4都完全的显⽰服务器⽣成的错误提⽰页⾯。可以参考图6-3及6-4中的例⼦。
  核⼼警告
  默认情况下,IE5忽略服务端⽣成的错误提⽰页⾯。
  405 (Method Not Allowed/⽅法未允许)
  405 (SC_METHOD_NOT_ALLOWED)指出请求⽅法(GET, POST, HEAD, PUT, DELETE, 等)对某些特定的资源不允许使⽤。该状态码是新加⼊ HTTP 1.1中的。
  406 (Not Acceptable/⽆法访问)
露地栽培
  406 (SC_NOT_ACCEPTABLE)表⽰请求资源的MIME类型与客户端中Accept头信息中指定的类型不⼀致。见本书7.2部分中的表7.1(HT TP 1.1 Respon Headers and Their Meaning/HTTP 1.1响应头信息以及他们的意义)中对MIME类型的介绍。406是新加⼊ HTTP 1.1中的。
  407 (Proxy Authentication Required/代理服务器认证要求)
  407 (SC_PROXY_AUTHENTICATION_REQUIRED)与401状态有些相似,只是这个状态⽤于代理服务器。该状态指出客户端必须通过代理服务器的认证。代理服务器返回⼀个Proxy-Authenticate响应头信息给客户端,这会引起客户端使⽤带有Proxy-Authorization请求的头信息重新连接。该状态码是新加⼊ HTTP 1.1中的。
  408 (Request Timeout/请求超时)
  408 (SC_REQUEST_TIMEOUT)是指服务端等待客户端发送请求的时间过长。该状态码是新加⼊ HTTP 1.1中的。
  409 (Conflict/冲突)
  该状态通常与PUT请求⼀同使⽤,409 (SC_CONFLICT)状态常被⽤于试图上传版本不正确的⽂件时。该状态码是新加⼊ HTTP 1.1中的。
  410 (Gone/已经不存在)
  410 (SC_GONE)告诉客户端所请求的⽂档已经不存在并且没有更新的地址。410状态不同于404,410是在指导⽂档已被移⾛的情况下使⽤,⽽404则⽤于未知原因的⽆法访问。该状态码是新加⼊ HTTP 1.1中的。
我的教师
一件令我感动的事  411 (Length Required/需要数据长度)
  411 (SC_LENGTH_REQUIRED)表⽰服务器不能处理请求(假设为带有附件的POST请求),除⾮客户端发送Content-Length头信息指出发送给服务器的数据的⼤⼩。该状态是新加⼊ HTTP 1.1的。
  412 (Precondition Failed/先决条件错误)
  412 (SC_PRECONDITION_FAILED)状态指出请求头信息中的某些先决条件是错误的。该状态是新加⼊ HTTP 1.1的。
  413 (Request Entity Too Large/请求实体过⼤)
  413 (SC_REQUEST_ENTITY_TOO_LARGE)告诉客户端现在所请求的⽂档⽐服务器现在想要处理的要⼤。如果服务器认为能够过⼀段时间处理,则会包含⼀个Retry-After的响应头信息。该状态是新加⼊ HTTP 1.1的。
  414 (Request URI Too Long/请求URI过长)
  415 (Unsupported Media Type/不⽀持的媒体格式)
  415 (SC_UNSUPPORTED_MEDIA_TYPE)意味着请求所带的附件的格式类型服务器不知道如何处理。该状态是新加⼊ HTTP 1.1的。
  416 (Requested Range Not Satisfiable/请求范围⽆法满⾜)
  416表⽰客户端包含了⼀个服务器⽆法满⾜的Range头信息的请求。该状态是新加⼊ HTTP 1.1的。奇怪的是,在rvlet 2.1版本API的HttpServletRespon中并没有相应的常量代表该状态。
  注意
  在rvlet 2.1的规范中,类HttpServletRespon并没有SC_REQUESTED_RANGE_NOT_SATISFIABLE 这样的常量,所以你只能直接使⽤416。在rvlet 2.2版本之后都包含了此常量。
  417 (Expectation Failed/期望失败)
  如果服务器得到⼀个带有100-continue值的Expect请求头信息,这是指客户端正在询问是否可以在后⾯的请求中发送附件。在这种情况下,服务器也会⽤该状态(417)告诉浏览器服务器不接收该附件或⽤100 (SC_CONTINUE)状态告诉客户端可以继续发送附件。该状态是新加⼊ HTTP 1.1的。公办专科学校排名
  500 (Internal Server Error/内部服务器错误)
  500 (SC_INTERNAL_SERVER_ERROR) 是常⽤的“服务器错误”状态。该状态经常由CGI程序引起也可能(但愿不会如此!)由⽆法正常运⾏的或返回头信息格式不正确的rvlet引起。
  501 (Not Implemented/未实现)
  501 (SC_NOT_IMPLEMENTED)状态告诉客户端服务器不⽀持请求中要求的功能。例如,客户端执⾏了如PUT这样的服务器并不⽀持的命令。
  502 (Bad Gateway/错误的⽹关)
  502 (SC_BAD_GATEWAY)被⽤于充当代理或⽹关的服务器;该状态指出接收服务器接收到远端服务器的错误响应。
  503 (Service Unavailable/服务⽆法获得)
  状态码503 (SC_SERVICE_UNAVAILABLE)表⽰服务器由于在维护或已经超载⽽⽆法响应。例如,如果某些线程或数据库连接池已经没有空闲则rvlet会返回这个头信息。服务器可提供⼀个Retry-After头信息告诉客户端什么时候可以在试⼀次。
  504 (Gateway Timeout/⽹关超时)
  该状态也⽤于充当代理或⽹关的服务器;它指出接收服务器没有从远端服务器得到及时的响应。该状态是新加⼊ HTTP 1.1的。
  505 (HTTP Version Not Supported/不⽀持的 HTTP 版本)
  505 (SC_HTTP_VERSION_NOT_SUPPORTED)状态码是说服务器并不⽀持在请求中所标明 HTTP 版本。该状态是新加⼊ HTTP 1.1的。

本文发布于:2023-06-14 16:44:25,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1038339.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:状态   服务器   信息   请求   客户端   响应
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图