HTTP状态码大全

合集下载

常见的请求状态码

常见的请求状态码

常见的请求状态码在HTTP协议中,请求状态码用于指示服务器对请求的处理结果。

以下是常见的请求状态码及其含义:1. 200 OK:表示服务器已成功处理请求。

2. 201 Created:表示请求已成功并且服务器已创建了新资源。

3. 202 Accepted:表示服务器已接受请求,但尚未处理完成。

4. 204 No Content:表示服务器已成功处理请求,但没有返回任何内容。

5. 400 Bad Request:表示客户端发送的请求存在语法错误或无法理解。

6. 401 Unauthorized:表示请求需要用户身份验证。

7. 403 Forbidden:表示服务器拒绝了客户端的请求。

8. 404 Not Found:表示请求的资源不存在。

9. 405 Method Not Allowed:表示请求方法不被允许。

10. 408 Request Timeout:表示服务器等待客户端发送的请求时间过长。

11. 429 Too Many Requests:表示客户端发送的请求过多,超出了服务器的处理能力。

12. 500 Internal Server Error:表示服务器内部错误,无法完成请求。

13. 502 Bad Gateway:表示服务器作为网关或代理,从上游服务器接收到无效响应。

14. 503 Service Unavailable:表示服务器暂时无法处理请求,通常是由于过载或维护等原因。

15. 504 Gateway Timeout:表示服务器作为网关或代理,等待上游服务器响应超时。

这些状态码帮助客户端了解服务器对其请求的处理结果,使得网络通信更加可靠和健壮。

常见的HTTP状态代码及其原因

常见的HTTP状态代码及其原因

常见的HTTP状态代码及其原因HTTP状态代码是一个三位数,用于向浏览器和Web服务器传达请求或响应期间的状态。

以下是常见的HTTP状态代码及其原因的详细解释:1xx (信息性状态码):- 100 Continue:服务器已经收到请求的初始部分,并且客户端应该继续发送剩余的请求。

- 101 Switching Protocols:服务器正在根据客户端的要求将协议切换到升级的版本。

2xx (成功状态码):-200OK:请求已成功处理,并返回了所请求的内容。

它是最常见的状态码之一- 201 Created:请求成功并且在服务器上创建了新资源。

- 204 No Content:服务器成功处理了请求,但没有返回任何内容。

3xx (重定向状态码):- 301 Moved Permanently:请求的资源已永久移动到新位置。

- 302 Found:请求的资源临时移动到其他位置。

- 304 Not Modified:客户端可以使用缓存的版本。

4xx (客户端错误状态码):- 400 Bad Request:服务器无法理解请求。

- 401 Unauthorized:请求需要身份验证。

- 403 Forbidden:服务器拒绝请求访问。

- 404 Not Found:无法找到请求的资源。

- 405 Method Not Allowed:服务器不允许使用请求的方法。

5xx (服务器错误状态码):- 500 Internal Server Error:服务器遇到了意外的错误。

- 502 Bad Gateway:作为网关或代理的服务器收到了无效的响应。

- 503 Service Unavailable:服务器当前无法处理请求。

- 504 Gateway Timeout:作为网关或代理的服务器在等待上游服务器的响应时超时。

以上只是HTTP状态代码中的一些常见示例,还有其他状态代码可以根据具体需求和情况使用。

了解这些状态代码可以帮助开发人员快速定位和解决与HTTP请求和响应相关的问题,提升Web应用程序的性能和可靠性。

HTTP状态代码表

HTTP状态代码表

HTTP状态代码表HTTP状态代码表The List of HTTP Status Codes1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。

100 – Continuendicates that part of a request has been successfully received, and the rest should now be sent.(继续)说明部分请求已成功收到,其余的现在应该发出。

101 – Switching ProtocolsStatus code 101 is when the server is changing protocols as defined in the “Upgrade” header that it ret urns to the browser.(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。

uccessful2xx (成功)表示成功处理了请求的状态代码。

200 – OKThis just means that the request has been received and understood and is being processed.(成功)服务器已成功处理了请求。

通常,这表示服务器提供了请求的网页。

如果针对您的 robots.txt 文件显示此状态代码,则表示Googlebot 已成功检索到该文件。

201 – CreatedThis indicates that a request was successful and as a result, a resource has been created.(已创建)请求成功并且服务器创建了新的资源。

202 – AcceptedStatus code 202 indicates that the server has received andunderstood the request and has been accepted for processing.(已接受)服务器已接受请求,但尚未处理。

HTTP代码大全

HTTP代码大全

不知道大家上网是是否碰到过打开网页后报303,403等错误,让侯IE会给出一大堆的提示告诉你如何处理这些事,但是最后还是不能打开网页,有的人都认为是自己网络问题,其实不然,有时候网页的服务器负载也会出现这类的现象,所以大家就要好好了解下,到底代码所代表的意思了,HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。

它由RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。

1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。

代码说明100 (继续)请求者应当继续提出请求。

服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。

101 (切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx (成功)表示成功处理了请求的状态代码。

代码说明200 (成功)服务器已成功处理了请求。

通常,这表示服务器提供了请求的网页。

201 (已创建)请求成功并且服务器创建了新的资源。

202 (已接受)服务器已接受请求,但尚未处理。

203 (非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。

204 (无内容)服务器成功处理了请求,但没有返回任何内容。

205 (重置内容)服务器成功处理了请求,但没有返回任何内容。

206 (部分内容)服务器成功处理了部分GET 请求。

3xx (重定向)表示要完成请求,需要进一步操作。

通常,这些状态代码用来重定向。

代码说明300 (多种选择)针对请求,服务器可执行多种操作。

服务器可根据请求者(user agen t) 选择一项操作,或提供操作列表供请求者选择。

301 (永久移动)请求的网页已永久移动到新位置。

服务器返回此响应(对GET 或H EAD 请求的响应)时,会自动将请求者转到新位置。

302 (临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

HTTP状态码(HTTP Status Code)

HTTP状态码(HTTP Status Code)

2xx (成功)
表示成功处理了请求的状态代码。
代码 说明
200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
201 (已创建) 请求成功并且服务器创建了新的资源。
202 (已接受) 服务器已接受请求,但尚未处理。
203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。
307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续这些状态代码表示请求可能出错,妨碍了服务器的处理。
代码 说明
400 (错误请求) 服务器不理解请求的语法。
401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
409 (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
410 (已删除) 如果请求的资源已永久删除,服务器就会返回此响应。
411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。
412 (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。
403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
405 (方法禁用) 禁用请求中指定的方法。
406 (不接受) 无法使用请求的内容特性响应请求的网页。

http状态码一览表

http状态码一览表

http状态码一览表http状态码一览表1**:请求收到,继续处理2**:操作成功收到,分析、接受3**:完成此请求必须进一步处理4**:请求包含一个错误语法或不能完成5**:服务器执行一个完全有效请求失败100——客户必须继续发出请求101——客户要求服务器根据请求转换HTTP协议版本200——交易成功201——提示知道新文件的URL202——接受和处理、但处理未完成203——返回信息不确定或不完整204——请求收到,但返回信息为空205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件206——服务器已经完成了部分用户的GET请求300——请求的资源可在多处得到301——删除请求数据302——在其他地址发现了请求数据303——建议客户访问其他URL或访问方式304——客户端已经执行了GET,但文件未变化305——请求的资源必须从服务器指定的地址得到306——前一版本HTTP中使用的代码,现行版本中不再使用307——申明请求的资源临时性删除400——错误请求,如语法错误401——请求授权失败402——保留有效ChargeTo头响应403——请求不允许404——没有发现文件、查询或URl405——用户在Request-Line字段定义的方法不允许406——根据用户发送的Accept拖,请求资源不可访问407——类似401,用户必须首先在代理服务器上得到授权408——客户端没有在用户指定的饿时间内完成请求409——对当前资源状态,请求不能完成410——服务器上不再有此资源且无进一步的参考地址411——服务器拒绝用户定义的Content-Length属性请求412——一个或多个请求头字段在当前请求中错误413——请求的资源大于服务器允许的大小414——请求的资源URL长于服务器允许的长度415——请求资源不支持请求项目格式416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求500——服务器产生内部错误501——服务器不支持请求的函数502——服务器暂时不可用,有时是为了防止发生系统过载503——服务器过载或暂停维修504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长505——服务器不支持或拒绝支请求头中指定的HTTP版本==========================================================英文版:100:Continue101:Switching Protocols102:Processing200:OK201:Created202:Accepted203:Non-Authoriative Information204:No Content205:Reset Content206:Partial Content207:Multi-Status300:Multiple Choices301:Moved Permanently302:Found303:See Other304:Not Modified305:Use Proxy306:(Unused)307:Temporary Redirect400:Bad Request401:Unauthorized402:Payment Granted403:Forbidden404:File Not Found405:Method Not Allowed406:Not Acceptable407:Proxy Authentication Required408:Request Time-out409:Conflict410:Gone411:Length Required412:Precondition Failed413:Request Entity Too Large414:Request-URI Too Large415:Unsupported Media Type416:Requested range not satisfiable417:Expectation Failed422:Unprocessable Entity423:Locked424:Failed Dependency500:Internal Server Error501:Not Implemented502:Bad Gateway503:Service Unavailable504:Gateway Timeout505:HTTP Version Not Supported507:Insufficient Storage完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在/在线查阅。

常见的HTTP状态码(HTTPStatusCode)说明

常见的HTTP状态码(HTTPStatusCode)说明

常见的HTTP状态码(HTTPStatusCode)说明最近的项⽬,经常会接触⼀些http相关的error code,查询了下相关定义作为熟悉了解。

状态代码有三位数字组成,第⼀个数字定义了响应的类别,且有五种可能取值:1. 1xx:指⽰信息--表⽰请求已接收,继续处理2. 2xx:成功--表⽰请求已被成功接收、理解、接受3. 3xx:重定向--信息不完整需要进⼀步补充4. 4xx:客户端错误--请求有语法错误或请求⽆法实现5. 5xx:服务器端错误--服务器未能实现合法的请求1xx状态码英⽂名称状态码意义100Continue这个临时响应是⽤来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。

客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。

101SwitchingProtocols换协议。

服务器根据客户端的请求切换协议。

只能切换到更⾼级的协议,例如,切换到HTTP的新版本协议。

102Processing由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执⾏。

2xx状态码英⽂名称状态码意义200OK请求成功。

⼀般⽤于GET与POST请求,出现此状态码是表⽰正常状态。

201Created已创建。

成功请求并创建了新的资源202Accepted已接受。

已经接受请求,但未处理完成203Non-AuthoritativeInformation服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,⽽是来⾃本地或者第三⽅的拷贝。

当前的信息可能是原始版本的⼦集或者超集。

204No Content⽆内容。

服务器成功处理,但未返回内容。

在未更新⽹页的情况下,可确保浏览器继续显⽰当前⽂档205Reset Content重置内容。

服务器处理成功,⽤户终端(例如:浏览器)应重置⽂档视图。

可通过此返回码清除浏览器的表单域,以便⽤户能够轻松地开始另⼀次输⼊。

206Partial Content部分内容。

HTTP状态码大全

HTTP状态码大全

本部分余下的内容会详细地介绍 HTTP 1.1中的状态码。

这些状态码被分为五大类:100-199 用于指定客户端应相应的某些动作。

200-299 用于表示请求成功。

300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。

400-499 用于指出客户端的错误。

500-599 用于支持服务器错误。

一些常见的状态代码为:200 –服务器成功返回网页404 –请求的网页不存在503 –服务器暂时不可用以下提供了 HTTP 状态代码的完整列表。

1xx(临时响应)用于表示临时响应并需要请求者执行操作才能继续的状态代码。

100(继续|Continue)请求者应当继续提出请求。

服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。

101(切换协议|Switching Protocols)请求者已要求服务器切换协议,服务器已确认并准备进行切换。

2xx(成功)用于表示服务器已成功处理了请求的状态代码。

200(成功|OK)服务器已成功处理了请求。

通常,这表示服务器提供了请求的网页。

如果您的 robots.txt 文件显示为此状态,那么,这表示Googlebot已成功检索到该文件。

201(已创建|Created)请求成功且服务器已创建了新的资源。

202(已接受|Accepted)服务器已接受了请求,但尚未对其进行处理。

203(非授权信息|Non-Authoritative Information)服务器已成功处理了请求,但返回了可能来自另一来源的信息。

204(无内容|No Content)服务器成功处理了请求,但未返回任何内容。

205(重置内容Reset Content)服务器成功处理了请求,但未返回任何内容。

与 204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。

206(部分内容|Partial Content)服务器成功处理了部分 GET 请求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HTTP状态码大全HTTP 1.1中的状态码。

这些状态码被分为五大类:100-199 用于指定客户端应相应的某些动作。

200-299 用于表示请求成功。

300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。

400-499 用于指出客户端的错误。

(自己电脑这边的问题)500-599 用于支持服务器错误。

(对方的问题)HttpServletResponse中的常量代表关联不同标准消息的状态码。

在servlet程序中,你会更多地用到这些常量的标识来使用状态码。

例如:你一般会使用response.setStatus(response.SC_NO_CONTENT)而不是response.setStatus(204),因为后者不易理解而且容易导致错误。

但是,你应当注意到服务器允许对消息轻微的改变,而客户端只注意状态码的数字值。

所以服务器可能只返回HTTP/1.1 200 而不是HTTP/1.1 200 OK。

100 (Continue/继续)如果服务器收到头信息中带有100-continue的请求,这是指客户端询问是否可以在后续的请求中发送附件。

在这种情况下,服务器用100(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请求。

这个状态码对servlet是缺省的;如果没有调用setStatus方法的话,就会得到200。

201 (Created/已创建)201 (SC_CREA TED)表示服务器在请求的响应中建立了新文档;应在定位头信息中给出它的URL。

202 (Accepted/接受)202 (SC_ACCEPTED)告诉客户端请求正在被执行,但还没有处理完。

203 (Non-Authoritative Information/非官方信息)状态码203 (SC_NON_AUTHORITA TIVE_INFORMA TION)是表示文档被正常的返回,但是由于正在使用的是文档副本所以某些响应头信息可能不正确。

这是HTTP 1.1中新加入的。

204 (No Content/无内容)在并没有新文档的情况下,204 (SC_NO_CONTENT)确保浏览器继续显示先前的文档。

这各状态码对于用户周期性的重载某一页非常有用,并且你可以确定先前的页面是否已经更新。

例如,某个servlet可能作如下操作:int pageVersion =Integer.parseInt(request.getParameter("pageVersion"));if (pageVersion >;= currentVersion) {response.setStatus(response.SC_NO_CONTENT);} else {// Create regular page}但是,这种方法对通过刷新响应头信息或等价的HTML标记自动重载的页面起作用,因为它会返回一个204状态码停止以后的重载。

但基于JavaScript脚本的自动重载在这种情况下仍然需要能够起作用。

可以阅读本书7.2 ( HTTP 1.1 Response Headers and Their Meaning/HTTP 1.1响应头信息以及他们的意义)部分的详细讨论。

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)表示被请求的文档可以在多个地方找到,并将在返回的文档中列出来。

如果服务器有首选设置,首选项将会被列于定位响应头信息中。

301 (Moved Permanently)301 (SC_MOVED_PERMANENTLY)状态是指所请求的文档在别的地方;文档新的URL会在定位响应头信息中给出。

浏览器会自动连接到新的URL。

302 (Found/找到)与301有些类似,只是定位头信息中所给的URL应被理解为临时交换地址而不是永久的。

注意:在HTTP 1.0中,消息是临时移动(Moved Temporarily)的而不是被找到,因此HttpServletResponse中的常量是SC_MOVED_TEMPORARILY不是我们以为的SC_FOUND。

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

状态码302是非常有用的因为浏览器自动连接在定为响应头信息中给出的新URL。

这非常有用,而且为此有一个专门的方法——sendRedirect。

使用response.sendRedirect(url)比调用response.setStatus(response.SC_MOVED_TEMPORARILY)和response.setHeader("Location", url)多几个好处。

首先,response.sendRedirect(url)方法明显要简单和容易。

第二,servlet自动建立一页保存这一连接以提供给那些不能自动转向的浏览器显示。

最后,在servlet 2.2版本(J2EE中的版本)中,sendRedirect能够处理相对路径,自动转换为绝对路径。

但是你只能在2.1版本中使用绝对路径。

如果你将用户转向到站点的另一页中,你要用HttpServletResponse 中的encodeURL 方法传送URL。

这么做可预防不断使用基于URL重写的会话跟踪的情况。

URL重写是一种在你的网站跟踪不使用cookies 的用户的方法。

这是通过在每一个URL尾部附加路径信息实现的,但是servlet 会话跟踪API会自动的注意这些细节。

会话跟踪在第九章讨论,并且养成使用encodeURL 的习惯会使以后添加会话跟踪的功能更容易很多。

核心技巧如果你将用户转向到你的站点的其他页面,用response.sendRedirect(response.encodeURL(url)) 的方式事先计划好会话跟踪(session tracking)要比只是调用response.sendRedirect(url) 好的多。

这个状态码有时可以与301交换使用。

例如,如果你错误的访问了/home/link.php?url=aG9zdC9%2BdXNlcg%3D%3D(路径信息不完整),有些服务器就会回复301状态码而有些则回复302。

从技术上说,如果最初的请求是GET浏览器只是被假定自动转向。

如果想了解更多细节,请看状态码307的讨论。

303 (See Other/参见其他信息)这个状态码和301、302 相似,只是如果最初的请求是POST,那么新文档(在定位头信息中给出)药用GET 找回。

这个状态码是新加入HTTP 1.1中的。

304 (Not Modified/为修正)当客户端有一个缓存的文档,通过提供一个If-Modified-Since 头信息可指出客户端只希望文档在指定日期之后有所修改时才会重载此文档,用这种方式可以进行有条件的请求。

304 (SC_NOT_MODIFIED)是指缓冲的版本已经被更新并且客户端应刷新文档。

另外,服务器将返回请求的文档及状态码200。

servlet一般情况下不会直接设置这个状态码。

它们会实现getLastModified方法并根据修正日期让默认服务方法处理有条件的请求。

这个方法的例程已在2.8部分(An Example Using Servlet Initialization and Page Modification Dates/一个使用servlet初始化和页面修正日期的例子)给出。

305 (Use Proxy/使用代理)305 (SC_USE_PROXY)表示所请求的文档要通过定位头信息中的代理服务器获得。

这个状态码是新加入HTTP 1.1中的。

307 (Temporary Redirect/临时重定向)浏览器处理307状态的规则与302相同。

307状态被加入到HTTP 1.1中是由于许多浏览器在收到302响应时即使是原始消息为POST的情况下仍然执行了错误的转向。

只有在收到303响应时才假定浏览器会在POST请求时重定向。

添加这个新的状态码的目的很明确:在响应为303时按照GET和POST请求转向;而在307响应时则按照GET请求转向而不是POST请求。

注意:由于某些原因在HttpServletResponse中还没有与这个状态对应的常量。

该状态码是新加入HTTP 1.1中的。

注意在HttpServletResponse 中没有SC_TEMPORARY_REDIRECT 常量,所以你只能显示的使用307状态码。

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

401 (Unauthorized/未授权)401 (SC_UNAUTHORIZED)表示客户端在授权头信息中没有有效的身份信息时访问受到密码保护的页面。

这个响应必须包含一个WWW-Authenticate的授权信息头。

例如,在本书4.5部分中的“Restricting Access to Web Pages./限制访问Web页。

”403 (Forbidden/禁止)403 (SC_FORBIDDEN)的意思是除非拥有授权否则服务器拒绝提供所请求的资源。

这个状态经常会由于服务器上的损坏文件或目录许可而引起。

404 (Not Found/未找到)404 (SC_NOT_FOUND)状态每个网络程序员可能都遇到过,他告诉客户端所给的地址无法找到任何资源。

它是表示“没有所访问页面”的标准方式。

这个状态码是常用的响应并且在HttpServletResponse类中有专门的方法实现它:sendError("message")。

相关文档
最新文档