HTTP状态码(HTTP Status Code)

合集下载

学习HTTP Status Code的一些总结

学习HTTP Status Code的一些总结

学习HTTP Status Code的一些总结这几天学习了一下HTTP协议状态码(HTTP Status Code),做了一些学习总结。

一、什么是HTTP Status Code客户机与服务器建立连接后,发送一个请求给服务器(如:Get /index.html http/1.1),在服务器接到请求后,给予客户机相应的响应信息,包括该信息的协议版本号、HTTP 协议状态码、服务器信息、实体信息、内容等(如:http/1.1 200 ok)。

在通讯时,客户端发出连接请求,服务器端建立连接,客户端发出HTTP请求,服务器端返回响应信息,由此完成一个HTTP操作。

二、HTTP Status Code的意思1XX 都表示临时响应,客户端在收到常规响应前,会接受一个或多个1XX响应100 继续101 切换协议2XX 表示服务器端成功接受客户端请求200服务器成功处理请求201 已创建202 已接受203 非权威性信息204 无内容205 重置内容206 部分内容3XX 表示重定向,客户端必须采取更多操作来实现请求300 多种选择301 永久重定向302 对象临时移走303 查看其他位置304 未修改305 使用代理307 临时重定向4XX 表示客户端的请求有错误400 请求错误,服务器端不理解客户端的请求401 验证失败403 服务器拒绝访问404 服务器找不到请求的网页405 方法禁用406 客户端浏览器不接受所请求页面的MIME类型407 需要代理授权408 请求超时409 服务器完成请求时冲突410 资源已永久删除411 需要有效长度412 未满足前提条件413 请求实体过大414 请求的URL过长415 不支持的媒体类型416 请求范围不合要求417 执行失败5XX 表示服务器遇到错误无法完成客户端请求500 内部服务器错误501 服务器不支持的请求502 网关错误503 服务不可用(一般是临时性的)504 网关超时505 HTTP版本不支持三、一些实际体会在实际应用中,经常会碰到的协议状态码主要包括200、301、302、401、403、404、408、413、414、500、503、504这些,了解了这些代码所对应的意义,以及出现这些代码所意味的服务器或客户端的一些问题,以及常见问题的解决方法,工作起来效率会提高很多。

常见的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应用程序的性能和可靠性。

HTP状态码

HTP状态码

HTTP状态码维基百科,自由的百科全书HTTP状态码(HTTP Status Code)是用以表示網頁伺服器HTTP响应状态的3位数字代码。

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

所有状态码的第一个数字代表了响应的五种状态之一。

目录∙ 1 1xx 消息o 1.1 100 Continueo 1.2 101 Switching Protocolso 1.3 102 Processing∙ 2 2xx 成功o 2.1 200 OKo 2.2 201 Createdo 2.3 202 Acceptedo 2.4 203 Non-Authoritative Informationo 2.5 204 No Contento 2.6 205 Reset Contento 2.7 206 Partial Contento 2.8 207 Multi-Status∙ 3 3xx 重定向o 3.1 300 Multiple Choiceso 3.2 301 Moved Permanentlyo 3.3 302 Foundo 3.4 303 See Othero 3.5 304 Not Modifiedo 3.6 305 Use Proxyo 3.7 306 Switch Proxyo 3.8 307 Temporary Redirect∙ 4 4xx 请求错误o 4.1 400 Bad Requesto 4.2 401 Unauthorizedo 4.3 402 Payment Requiredo 4.4 403 Forbiddeno 4.5 404 Not Foundo 4.6 405 Method Not Allowedo 4.7 406 Not Acceptableo 4.8 407 Proxy Authentication Requiredo 4.9 408 Request Timeouto 4.10 409 Conflicto 4.11 410 Goneo 4.12 411 Length Requiredo 4.13 412 Precondition Failedo 4.14 413 Request Entity Too Largeo 4.15 414 Request-URI Too Longo 4.16 415 Unsupported Media Typeo 4.17 416 Requested Range Not Satisfiableo 4.18 417 Expectation Failedo 4.19 421 There are too many connections from your internet addresso 4.20 422 Unprocessable Entityo 4.21 423 Lockedo 4.22 424 Failed Dependencyo 4.23 425 Unordered Collectiono 4.24 426 Upgrade Requiredo 4.25 449 Retry With∙ 5 5xx 服务器错误o 5.1 500 Internal Server Erroro 5.2 501 Not Implementedo 5.3 502 Bad Gatewayo 5.4 503 Service Unavailableo 5.5 504 Gateway Timeouto 5.6 505 HTTP Version Not Supportedo 5.7 506 Variant Also Negotiateso 5.8 507 Insufficient Storageo 5.9 509 Bandwidth Limit Exceededo 5.10 510 Not Extended∙ 6 参考∙7 引用文献∙8 外部链接1xx 消息这一类型的状态码,代表请求已被接受,需要继续处理。

http,206,解决方案

http,206,解决方案

http,206,解决方案篇一:HTTP状态码HTTP Status Code常见的状态码:HTTP: Status 200 –效劳器成功返回网页HTTP: Status 404 –请求的网页不存在HTTP: Status 503 –效劳不可用详解:说明:HTTP: Status 1xx (临时响应)->表示临时响应并需要请求者继续执行操作的状态代码。

详细代码及说明:HTTP: Status 100 (继续)-> 请求者应当继续提出请求。

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

HTTP: Status 101 (切换协议)-> 请求者已要求效劳器切换协议,效劳器已确认并预备切换。

说明:HTTP Status 2xx (成功)->表示成功处置了请求的状态代码;详细代码及说明:HTTP Status 200 (成功)-> 效劳器已成功处置了请求。

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

HTTP Status 201 (已创建) -> 请求成功而且效劳器创建了新的资源。

HTTP Status 202 (已同意)-> 效劳器已同意请求,但尚未处置。

HTTP Status 203 (非授权信息)-> 效劳器已成功处置了请求,但返回的信息可能来自另一来源。

HTTP Status 204 (无内容)-> 效劳器成功处置了请求,但没有返回任何内容。

HTTP Status 205 (重置内容)-> 效劳器成功处置了请求,但没有返回任何内容。

HTTP Status 206 (部份内容)-> 效劳器成功处置了部份 GET 请求。

说明:HTTP Status 4xx (请求错误)->这些状态代码表示请求可能犯错,妨碍了效劳器的处置。

详细代码说明:HTTP Status 400 (错误请求)->效劳器不睬解请求的语法。

HTTP Status 401 (未授权)->请求要求身份验证。

常见的HTTP状态码说明

常见的HTTP状态码说明

常见的HTTP状态码说明1.说明HTTP服务器状态代码定义(Status Code Definitions)做测试的时候,会产⽣⽐较多的HTTP错误,查看其错误,有超时的,链接不到图⽚的,连接不到服务器等等,很多⼈经常忘记,所以整理⼀下,帮助记忆2.常见接⼝协议http 超⽂本传输协议https 安全超⽂本传输协议(百度)Ftp ⽂件传输协议Tcp ⽹络控制协议IP 互联⽹协议3.HTTP协议相应码1XX:信息响应类,标识接受到请求并且继续处理2XX:处理成功响应类,表⽰动作成功接受,理解和接受3XX:重定向响应类,为了完成指定动作,必须接受进⼀步处理4XX:客户端错误,客户端请求包含语法错误或者是不能正确执⾏5XX:服务端错误,服务器不能正确执⾏⼀个正确的请求(超时)4.详细说明(1)消息1xx(Informational 1xx)该类状态代码⽤于表⽰临时回应。

临时回应由状态⾏(Status-Line)及可选标题组成,由空⾏终⽌。

HTTP/1.0中没有定义任何1xx的状态代码,所以它们不是对HTTP/1.0请求的合法回应。

实际上,它们主要⽤于实验⽤途,这已经超出本⽂档的范围。

(2)成功2xx(Successful 2xx)表⽰客户端请求被成功接收、理解、接受。

200 OK 请求成功。

回应的信息依赖于请求所使⽤的⽅法,如下:GET 要请求的资源已经放在回应的实体中了。

HEAD 没有实体主体,回应中只包括标题信息。

POST 实体(描述或包含操作的结果)。

201 Created 请求完成,结果是创建了新资源。

新创建资源的URI可在回应的实体中得到。

原始服务器应在发出该状态代码前创建该资源。

如果该操作不能⽴即完成,服务器必须在该资源可⽤时在回应主体中给出提⽰,否则,服务器端应回应202(可被接受)。

在本⽂定义的⽅法,只有POST可以创建资源。

202 Accepted 请求被接受,但处理尚未完成。

请求可能不⼀定会最终完成,有可能被处理过程随时中断,在这种情况下,没有办法在异步操作中重新发送状态代码。

PHP网络协议

PHP网络协议

PHP⽹络协议HTTP状态码HTTP状态码(HTTP Status Code)是⽤以表⽰⽹页服务器HTTP响应状态的3位数字代码。

HTTP状态码主要有5种,代表5种不同类型的响应:1. 1xx:信息性状态码,代表接收到请求,正在处理2. 2xx:成功状态码,代表请求正常处理完毕1. 200 OK表⽰从客户端发来的请求在服务端被正常处理了2. 204 No Content服务器接收的处理已经全部处理完毕,但是返回的响应报⽂中不含有实体的主体部分,另外也不允许返回任何的主体,浏览器接收到204响应之后页⾯不更新。

3. 206 Partial Content客户端进⾏了范围请求,服务器成功执⾏了这部分的GET请求。

响应报⽂中包含由Content-Range指定的实体内容。

3. 3xx:重定向,表明浏览器需要执⾏某些特殊的处理以正确处理请求。

1. 301 Moved Permanenty永久重定向,301表⽰请求的资源已经被分配了新的URI,以后应使⽤资源现在所指的URI。

2. 302 Found临时重定向,该状态码表⽰请求的资源已被分配了新的URI,希望⽤户(本次)能够使⽤新的URI访问。

与301不同,302是临时重定向,已移动的资源对应的URI在将来可能还是会发⽣改变。

3. 303 See Other表⽰请求对应的资源存在着另⼀个URI,应使⽤GET⽅法定向获取请求的资源。

4. 304 Not Modified304虽然被划分在3xx中,但是和重定向并没有关系。

该状态码表⽰客户端发送附带条件的请求时,服务器允许请求访问资源,但因发⽣请求未满⾜条件的情况后,直接返回304 Not Modified(服务器资源未改变,可直接使⽤客户端未过期的缓存)。

304状态码返回时,不包含任何响应的主体部分。

5. 307 Temporary Redirect临时重定向。

该状态码与302 Found 有着相同的含义。

尽管302标准禁⽌POST变换成GET,但实际使⽤时⼤家并不遵守。

HTTP304状态码的详细讲解

HTTP304状态码的详细讲解

HTTP304状态码的详细讲解HTTP 304状态码的详细讲解整个请求响应过程如下:客户端在请求⼀个⽂件的时候,发现⾃⼰缓存的⽂件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存⽂件的 Last Modified 。

因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。

服务端只要判断这个时间和当前请求的⽂件的修改时间就可以确定是返回 304 还是 200 。

对于静态⽂件,例如:CSS、图⽚,服务器会⾃动完成 Last Modified 和 If Modified Since 的⽐较,完成缓存或者更新。

但是对于动态页⾯,就是动态产⽣的页⾯,往往没有包含 Last Modified 信息,这样浏览器、⽹关等都不会做缓存,也就是在每次请求的时候都完成⼀个 200 的请求。

因此,对于动态页⾯做缓存加速,⾸先要在 Response 的 HTTP Header 中增加 Last Modified 定义,其次根据 Request 中的 If Modified Since 和被请求内容的更新时间来返回 200 或者 304 。

虽然在返回 304 的时候已经做了⼀次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页⾯内容⽽只是⼀个 HTTP Header,从⽽⼤⼤的降低带宽的消耗,对于⽤户的感觉也是提⾼。

当这些缓存有效的时候,通过 Fiddler 或HttpWatch 查看⼀个请求会得到这样的结果:第⼀次访问 200按F5刷新(第⼆次访问) 304按Ctrl+F5强制刷新 200下⾯⽤Fiddler来查看上⾯的访问请求过程第⼀次(⾸次)访问 200第⼆次F5刷新访问 304请求的头信息⾥多了 “If-Modified-Since","If-None-Match"第三次按Ctrl+F5强制刷新 200同第⼀次,不贴图了为什么要使⽤条件请求当⽤户访问⼀个⽹页时,条件请求可以加速⽹页的打开时间(因为可以省去传输整个响应体的时间),但仍然会有⽹络延迟,因为浏览器还是得为每个资源⽣成⼀条条件请求,并且等到服务器返回HTTP/304响应,才能读取缓存来显⽰⽹页.更理想的情况是,服务器在响应上指定Cache-Control或Expires指令,这样客户端就能知道该资源的可⽤时间为多长,也就能跳过条件请求的步骤,直接使⽤缓存中的资源了.可是,即使服务器提供了这些信息,在下列情况下仍然需要使⽤条件请求:在超过服务器指定的过期时间之后如果⽤户执⾏了刷新操作的话在上节给出的图⽚中,请求头中包含了⼀个Pragma: no-cache.这是由于⽤户使⽤F5刷新了⽹页.如果⽤户按下了CTRL-F5 (有时称之为“强刷-hard refresh”),你会发现浏览器省略了If-Modified-Since和If-None-Match请求头,也就是⽆条件的请求页⾯中的每个资源.避免条件请求通常来说,缓存是个好东西.如果你想提⾼⾃⼰⽹站的访问速度,缓存是必须要考虑的.可是在调试的时候,有时候需要阻⽌缓存,这样才能确保你所访问到的资源是最新的.你也许会有个疑问:“如果不改变⽹站内容,我怎么才能让Fiddler不返回304⽽返回⼀个包含响应体的HTTP/200响应呢?”你可以在Fiddler中的⽹络会话(Web Sessions)列表中选择⼀条响应为HTTP/304的会话,然后按下U键.Fiddler将会⽆条件重发(Unconditionally reissue)这个请求.然后使⽤命compare命令对⽐⼀下两个请求有什么不同,对⽐结果如下,从中可以得知,Fiddler是通过省略条件请求头来实现⽆缓存请求的:Screenshot of Windiff of conditional and unconditional requests如果你想全局阻⽌HTTP/304响应,可以这么做:⾸先清除浏览器的缓存,可以使⽤Fiddler⼯具栏上的Clear Cache按钮(仅能清除Internet Explorer缓存),或者在浏览器上按CTRL+SHIFT+DELETE(所有浏览器都⽀持).在清除浏览器的缓存之后,回到Fiddler中,在菜单中选择Rules > Performance > Disable Caching选项,然后Fiddler就会:删除所有请求中的条件请求相同的请求头以及所有响应中的缓存时间相关的响应头.此外,还会在每个请求中添加Pragma: no-cache请求头,在每个响应中添加Cache-Control: no-cache响应头,阻⽌浏览器缓存这些资源.动态⽹页如何设置304以aspx页⾯为例,代码如下:1. var request = context.Request;2. var response = context.Response;3. if (request.Headers["If-Modified-Since"].NotNullOrEmpty() || request.Headers["If-None-Match"].NotNullOrEmpty())4. {5. response.StatusCode = 304;6. return;7. }8. //⾮304情况下的操作略9. //设置缓存选项10. response.Clear();11. response.ClearContent();12. response.Headers["Last-Modified"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");13. response.Headers["ETag"] = id;//这⾥假设的是根据不同的id14. response.CacheControl = "private";15. response.ExpiresAbsolute = DateTime.Now.AddMonths(6);ETag是什么意思?HTTP 协议规格说明定义ETag为“被请求变量的实体值” 。

常见的http代码解读(古怪科技)

常见的http代码解读(古怪科技)

首先,我们要对HTTP状态码有一个大概的了解。

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。

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

状态码有1到5分别返回不同的三位数字,代表不同的含义,在这里,我们只需要掌握常见的{200,404,301,503}。

其他的了解一下即可。

第一个:200状态码含义:服务器已成功处理了请求。

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

如上所示,你的网站返回200说明你的网站是正常的。

可以打开。

没有任何问题。

第二个:404状态码含义:链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,特别是对于大型网站来讲。

如上所示。

一个网站为什么会经常出现404呢?比如说网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误、编辑或程序工作人员疏忽等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在。

第三个:301状态码含义:301重定向是在搜索引擎优化中最常用的操作,可以帮助我们转移域名的权重。

301代表永久性跳转,301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时转移的情况,都建议作301。

那么我们网站为什么要做301喃?做了301能为我们带来什么喃?301就是一种域名跳转。

第四个:503状态码含义:(服务不可用)服务器目前无法使用(由于超载或停机维护)。

通常这只是暂时状态。

那么为什么有时候我们访问一个网站会出现503呢?503的出现意味着服务器现在由于超载或停机维护占时打不开了,告诉蜘蛛明天再来吧抓取吧。

这样蜘蛛会在一段时候以后重新抓取。

这是对蜘蛛的一种优化,你对蜘蛛友好了,自然他也会对你友好!。

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状态代码所代表服务器响应状态

2,设置302和404状态代码:sendRedirect(String url)和sendError(int code,String msg)方法。 二者抛出IOException。
状态代码302命令浏览器连接到新的url。sendRedirect方法生成302响应及Location报头,给出新的url放入Location报头之前,系统自动将相对url转换为绝对url。
500-599:由服务器引发的错误。
2,Servlet与客户端交互使用的重要状态代码。
100(Continue,继续):表示客户端程序在询问是否可以在随后的请求中向服务器发送附加文档。服务器使用100(SC_CONTINUE)表示继续,417(SC_EXPECTATION_FAILED)表示不接受该附件。
Servlet不应该直接使用这个状态代码,应该实现getLastModified方法,由默认的Service方法来处理。
307和303区别:接收到303响应则继续进行get和post请求的重定向,接受到307,对于get请求继续重定向,而post则不再继续。
501:表示服务器不支持该客户程序发送的命令。
503:由于维护或超负荷工作引起服务器不能做出响应。
505:表示服务器不支持请求行中给出的HTTP版本。
四,重新连接,重定位,刷新的区别:
405:这个资源不容许使用请求方法访问。
415:服务器不知道如何处理请求附加文件类型。
417:回应100,告诉浏览器不接受该附件。
500:表示服务器运行混乱。由CGI程序或Servlet崩溃或返回不正确格式的报头引起。
100-199:信息性的标示用户应该采取的其他动作。
200-299:表示请求成功。

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状态码(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各个statuscode是什么意思【已解决】

HTTP各个statuscode是什么意思【已解决】

HTTP各个statuscode是什么意思【已解决】在介绍状态码之前,要简单讲⼀下为什么要有状态码这个东西。

计算机之间的通信以协议为共同基础,客户端和服务端都按照协议的约定进⾏通信。

HTTP的状态码就在HTTP的协议内,规定了很多的状态。

客户端请求服务端后,服务端就返回结果,同时返回状态码。

告诉客户端,本次请求是成功了还是失败了,还是要客户端做什么操作。

那为什么不使⽤⽂本状态码呢?不是更加清晰直观吗?这是因为这些状态协议⾥⾯已经规定了,提到状态码,就是表⽰本条状态。

状态码分为1-5开头的CODE,以下依次说明,请仔细阅读噢1** 类状态码称之为Information 状态吗,表⽰信息正在处理。

2** 类状态码称为为Success状态码,表⽰请求正常完成。

3**类状态码称之为Redirection 状态码,表⽰需要客户端进⾏附加操作(如跳转。

重定向)4**类状态码称之为Error状态码,通常是由于客户端的错误导致的。

5**类状态吗称为Server Error状态码,通常是服务端的错误导致的。

⼩结下:状态码分为客户端错误状态码、服务端错误状态码、成功状态码,重定向状态码等。

1**不常见到哈,直接从2开始讲了A . 200(ok) 表⽰从客户端成功发出去请求到服务端了,服务端也接收到了这条请求并正确返回 204 No Content 请求已经成功了,但是却没有返回任何结果(实体)。

通常使⽤php die() exit()函数会引发204状态码 206 Partial Content 范围请求状态码。

B . 301 状态码 Moved Permanently 表⽰你请求的页⾯资源现在已经转移位置了,你需要到新的地⽅去需找该页⾯。

这个即重定向,服务器的response⾸部⾥会有location字段值来提⽰。

 302 状态码(Found)和301差不过。

表⽰你请求的页⾯资源现在已经转移位置了,你要到新的地⽅去寻找。

HTTP常见状态码详细解析

HTTP常见状态码详细解析

HTTP常见状态码详细解析HTTP状态码(英语:HTTP Status Code)是⽤以表⽰⽹页服务器超⽂本传输协议响应状态的3位数字代码。

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

HTTP状态码负责表⽰客户端HTTP请求的返回结果、标记服务端的处理是否正常、通知出现的错误等⼯作。

状态码的类别的由三位数字和原因短语组成,数字的第⼀位数字表⽰响应的类别,后⾯两位⽆类别。

以下有五种类别。

另外只要遵循状态码类别的定义,即使改变RFC2616中定义的状态码,或者服务端⾃⾏创建状态码都可以。

1XX类别:informational 信息性状态码原因短语:接收的请求正在处理2XX类别:success 成功状态码原因短语:请求正常处理完毕3XX类别:redirection 重定向状态码原因短语:需要进⾏附加操作以完成请求4XX类别:client error 客户端错误状态码原因短语:服务器⽆法处理请求5XX类别:server error 服务器错误状态码原因短语:服务器处理请求出错在RFC2616上的http状态码达到40多种,在加上WEBDAV和附加HTTP状态码(RFC6585)等扩展,就有60多种,但常⽤的有以下这些,接下来让我们分别来学习下。

(注:以下的使⽤场景只是举例,不包括所有使⽤场景)1xx Informational 信息响应1XX 是信息响应,表⽰接收的请求正在被处理。

100 Continue (继续)响应结果:信息型状态响应码表⽰⽬前为⽌⼀切正常, 客户端应该继续请求, 如果已完成请求则忽略.使⽤场景:为了让服务器检查请求的⾸部, 客户端必须在发送请求实体前, 在初始化请求中发送 Expect: 100-continue ⾸部并接收 100 Continue 响应状态码.101 Switching Protocols (协议切换)响应结果:表⽰服务器应客户端升级协议的请求(Upgrade请求头)正在进⾏协议切换。

py中status用法

py中status用法

py中status用法在 Python 中,"status" 一词通常用于表示对象或事件的状态,具体用法取决于上下文。

以下是一些常见的用法:1. HTTP 状态码:在 Web 开发中,"status" 通常用于表示HTTP 请求的状态码。

例如,200 表示请求成功,404 表示资源未找到,500 表示服务器内部错误等。

在 Python 的 Web 框架(如Flask、Django)中,可以通过访问HTTPResponse 对象的"status_code" 属性来获取或设置 HTTP 响应的状态码。

from flask import Flask, jsonifyapp = Flask(__name__)@app.route('/')def index():return jsonify(message='OK'), 200 # 设置状态码为 200,表示请求成功if __name__ == '__main__':app.run()2. 进程或任务状态:在多线程或多进程编程中,"status" 可以表示线程、进程或任务的状态,如运行中、暂停、完成等。

在Python 的多线程或多进程库(如 threading、multiprocessing)中,可以通过相应的方法或属性来获取或设置线程或进程的状态。

import threadingimport timedef print_numbers():for i in range(1, 6):print(i)time.sleep(1)thread = threading.Thread(target=print_numbers)thread.start()print(thread.is_alive()) # 检查线程是否在运行中3. 自定义对象的状态:在自定义类中,"status" 可以表示对象的某种状态或属性,如开关状态、活动状态等。

400是什么意思

400是什么意思

400是什么意思400是一种是HTTP状态码,400 Bad Request。

是在打开网页时服务器返回到客户端的一种状态码。

显示在客户端的也就是400页面。

简介400是一种HTTP状态码,告诉客户端它发送了一条异常请求。

400页面是当用户在打开网页时,返回给用户界面带有400提示符的页面。

其含义是你访问的页面域名不存在或者请求错误。

主要分为两种。

1、语义有误,当前请求无法被服务器理解。

除非进行修改,否则客户端不应该重复提交这个请求。

2、请求参数有误。

400的主要有两种形式:1、bad request意思是“错误的请求";2、invalid hostname意思是"不存在的域名”。

通常只用Windows主机才会出现这样的字样,如果是Linux主机,会显示不同的错误提示。

bad request invalid hostname出现这个错误的原因是某个域名绑定到了某个主机上,而该主机却没有绑定这个域名,所以IIS就返回了这个提示信息。

遇到这个问题怎么办呢?解决方法首先就是Ping一下域名,看看是否解析到空间所在的IP,如果是,再去空间的管理面板看有没有绑定你的域名了,如果有,就可以肯定是空间提供商的问题了,解决这个问题就只能找空间提供商绑定你的域名了,如果自己有这个权限自己绑定域名就可以解决问题。

HTTP状态HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。

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

所有状态码的第一个数字代表了响应的五种状态之一。

所示的消息短语是典型的,但是可以提供任何可读取的替代方案。

除非另有说明,状态码是HTTP / 1.1标准(RFC 7231)的一部分。

HTTP状态码的官方注册表由互联网号码分配局(Internet Assigned Numbers Authority)维护。

常见响应状态码

常见响应状态码

常见响应状态码常见响应状态码HTTP协议是Web通信的基础,而HTTP协议的核心就是请求和响应。

当客户端向服务器发起请求时,服务器会返回一个响应。

这个响应包含了一个状态码(status code),用来告诉客户端请求的处理结果。

常见的HTTP响应状态码有以下几种:1xx:信息性状态码100 Continue:表示服务器已经接收到了请求头,并且客户端可以继续发送请求体。

101 Switching Protocols:表示服务器已经理解了客户端的请求,并且正在切换到另外一种协议进行通信。

2xx:成功状态码200 OK:表示服务器已经成功处理了客户端的请求。

201 Created:表示服务器已经成功创建了资源。

202 Accepted:表示服务器已经接受了客户端的请求,但是还没有处理完成。

204 No Content:表示服务器已经成功处理了客户端的请求,但是没有返回任何内容。

206 Partial Content:表示服务器已经成功处理了部分GET请求,返回部分内容。

3xx:重定向状态码301 Moved Permanently:永久性重定向。

表示被请求资源被永久移动到新位置,并且将来所有对此资源的访问都要使用新地址替代旧地址。

302 Found / 303 See Other / 307 Temporary Redirect :临时性重定向。

这些状态码都表明被请求资源暂时被移动到新位置,但是将来还会返回原来的位置。

304 Not Modified:表示客户端缓存的资源没有发生变化,可以直接使用缓存中的资源。

4xx:客户端错误状态码400 Bad Request:表示客户端发送了一个错误的请求。

401 Unauthorized:表示需要进行身份验证才能访问被请求资源。

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

通常是因为客户端没有权限访问被请求资源。

404 Not Found:表示服务器无法找到被请求的资源。

常见的HTTP状态码大全

常见的HTTP状态码大全
? 416 – 所请求的范围无法满足。
? 417 – 执行失败。
? 423 – 锁定的错误。
5xx - 服务器错误
服务器由于遇到错误而不能完成该请求。 ? 500 - 内部服务器错误。 ? 500.12 - 应用程序正忙于在 Web 服务器上重新启动。
? 500.13 - Web 服务器太忙。
? 403.7 - 要求客户端证书。
? 403.8 - 站点访问被拒绝。
? 403.9 - 用户数过多。
? 403.10 - 配置无效。
? 403.11 - 密码更改。
? 403.12 - 拒绝访问映射表。
? 403.13 - 客户端证书被吊销。
? 403.14 - 拒绝目录列表。
? 403.15 - 超出客户端访问许可。
? 401.3 - 由于 ACL 对资源的限制而未获得授权。 这表示存在 NTFS 权限问题。即使您对试图访问的文件具备相应的权限,也可能发生此错误。例如,如果 IUSR 帐户无权访问
C:WinntSystem32Inetsrv 目录,您会看到这个错误。 有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
HTTP 502 - 网关错误
用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码。该状态代码记录在
IIS 日志中,同时也可能在 Web 浏览器或 FTP 客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。
HTTP错误大全
HTTP 400 - 请求无效

http错误代码表

http错误代码表

http错误代码表摘要本⽂部分内容来源于⽹络,个⼈收集整理,请勿传播所有 HTTP 状态代码及其定义。

本⽂内容取⾃⽹络。

2xx 成功1 2 3 4 5 62xx 成功200 正常;请求已完成。

201 正常;紧接 POST 命令。

202 正常;已接受⽤于处理,但处理尚未完成。

203 正常;部分信息 — 返回的信息只是⼀部分。

204 正常;⽆响应 — 已接收请求,但不存在要回送的信息。

3xx 重定向301 && 302301 永久重定向Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引⽤都应该使⽤本响应返回的若⼲个URI之⼀。

如果可能,拥有链接编辑功能的客户端应当⾃动把请求的地址修改为从服务器反馈回来的地址。

除⾮额外指定,否则这个响应也是可缓存的。

302 临时重定向Found 请求的资源现在临时从不同的URI响应请求。

由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。

只有在Cache-Control或Expires中进⾏了指定的情况下,这个响应才是可缓存的。

共同点:⽤户都可以看到url替换为了⼀个新的,然后发出请求301适合永久重定向⽐较常⽤的场景是使⽤域名跳转。

我们访问会跳转到注意: 301请求是可以缓存的,即通过看status code,可以发现后⾯写着from cache。

302⽤来做临时跳转⽐如未登陆的⽤户访问⽤户中⼼重定向到登录页⾯。

访问404页⾯会重新定向到⾸页。

1 2 3 4 5 6 7 8 9 10 11 12 13 14##niginx 301/302配置rewrite后⾯接上permenent就代表301跳if ($host != 'isme.pub') {rewrite ^/(.*)$ https://c.isme.pub/$1 permanent; }# 接上redirect就代表302跳if ($host != 'isme.pub') {rewrite ^/(.*)$ https://c.isme.pub/$1 redirect; }304客户端发送了⼀个带条件的GET请求且该请求已被允许,但是请求的⽂档没有发⽣改变,则状态码是304如ngx配置了静态资源的缓存1 2 3303 请参阅其它 — 可在另⼀ URI 下找到对请求的响应,且应使⽤ GET ⽅法检索此响应。

HttpStatusCodehttp响应状态码

HttpStatusCodehttp响应状态码

Http Status Codehttp响应状态码Http Status Code/Http response Status Code100 the ContinueIndicates that the client should continue the request. The return sent to the client is received and is not rejected by the server.The client should continue sending the remaining request data or the request has been completed, or the data is ignored. The server must sendThe last return is after the request.101 Switching separate ProtocolsThe server changes the application protocol for the current connection, using the Upgrade header information, as requested by the customer service request. The server will change the protocol immediately based on the Upgrade headerAt the end of the 101 return to the empty line.Successful= = = = = = = =200 OKThe request to the customer service is successfully received,resolved, and accepted.201 CreatedThe request has been completed and a new return resource is created. The resource created may be a URI resource, which is typically specified in the Location header. The reply should contain an entity dataIt also contains the resource features and location to select the appropriate method through the user or the user agent. The entity data format specifies the content-type header by the coal type. Initial serverThe specified resource must be created before returning the 201 status code. If the behavior is not executed immediately, the server should return 202.202 AcceptedThe request has been accepted for processing. But the process is not complete. The request may or may not be executed at all because the processing may be rejected.203 Non - Authoritative Information204 No ContentThe server has accepted the request and does not need to return the entity data, and may need to return the update information. The return message may contain new or updated informationpresented by the entity - headers.205 Reset the ContentThe server has accepted the request and the user agent should reset the document view.206 Partial ContentThe server has accepted the part of the request to GET the resource. The request must contain a Range header to indicate that the access scope may have to contain the if-range header information to set up the request condition.RedirectionFor example, there are two things in the world300 Multiple ChoicesThe request resource conforms to any presentation.301 version PermanentlyThe requested resource has been given a new URI.302 FoundRequest a temporary file of the resource through a different URI.303 See Other304 Not ModifiedIf the customer service has completed a conditional request and the request is permitted, but the document has not changed, the server should return 304 status codes. 304The status code must not contain the information body, which usually ends with the first blank line after a header field.305 Use ProxyThe requested resource must be accessed through the agent (specified by the Location field). The Location resource gives the proxy's URI.306 Unused307 Temporary RedirectClient Error= = = = = =400 Bad RequestBecause the wrong syntax causes the server to fail to understand the request information.401 UnauthorizedIf the request requires user validation. The echo should contain a www-authenticate header field to specify the permissions for the requested resource.402 Payment RequiredKeep a status code403 whoThe server accepts the request but is rejected.404 Not FoundThe server has found any resources that match the request-uri.405 Menthod Not AllowedThe request-line Request is not allowed to pass the specified URI.406 Not Acceptable407 Proxy Authentication Required408 the request TimeoutThe customer service side does not submit any request to the server for processing time.Another 409410 Gone411 Length RequiredThe server refuses to accept the request without defining the content-length field.412 Precondition Failed413 Request Entity Too LargeThe server refuses to handle requests because the request data exceeds the scope the server can handle. The server may close the current connection to prevent the customer service from continuing the request.The Request URI - 414 Too LongThe server rejects the current request because the length of the URI exceeds the server's parsing scope.415 Unsupported Media TypeThe server rejects the current request because the request data format is not supported by the requested resource.416 Request Range Not Satisfialbe417 Expectation FailedServer Error= = = = = = = =500 Internal Server ErrorThe server encountered an exception that prevented the execution of the current request501 Not ImplementedThe server does not have the corresponding execution action to complete the current request.502 Bad Gateway503 Service UnavailableDue to temporary file overload, the server cannot handle the current request.504 Gateway Timeout505 Http Version Not SupportedIt's a real thing, and it's not a real thing/100 the Continue101 Switching separate Protocols 102 Processing200 OK201 Created202 Accepted203 Non - Authoritative Information 204 No Content205 Reset the Content206 Partial Content207 - the Status226 IM informs the300 Multiple Choices301 version Permanently302 Found303 See Other304 Not Modified305 Use Proxy306 (Unused)307 Temporary Redirect400 Bad Request401 Unauthorized402 Payment Required403 who404 Not Found405 Method Not Allowed406 Not Acceptable407 Proxy Authentication Required 408 the Request TimeoutAnother 409410 Gone411 Length Required412 Precondition Failed413 Request Entity Too LargeThe Request URI - 414 Too Long415 Unsupported Media Type416 Requested Range Not Satisfiable 417 Expectation Failed418 I "m a teapot422 Unprocessable Entity423 Locked424 Failed the Dependency425 (Unordered Collection)426 Upgrade Required500 Internal Server Error501 Not Implemented502 Bad Gateway503 Service Unavailable504 Gateway Timeout505 HTTP Version Not Supported506 the Variant Also Negotiates507 Insufficient Storage510 Not ExtendedThe response value provided by Java HttpURLConnection is / * ** HTTP Status - Code 200: OK.* /Public static final int HTTP_OK = 200/ * ** HTTP Status - Code 201: Created.* /Public static final int HTTP_CREATED = 201/ * ** HTTP Status - Code 202: Accepted.* /Public static final int HTTP_ACCEPTED = 202;/ * ** the HTTP Status Code - 203: the Non - Authoritative Information.* /公共静态final int http_not_权威性= 203;/ * *HTTP status - code 204:没有内容。

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

[编辑] 3xx重定向
这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。
当且仅当后续的请求所使用的方法是GET或者HEAD时,用户浏览器才可以在没有用户介入的情况下自动提交所需要的后续请求。客户端应当自动监测无限循环重定向(例如:A->A,或者A->B->C->A),因为这会导致服务器和客户端大量不必要的资源消耗。按照HTTP/1.0版规范的建议,浏览器不应自动访问超过5次的重定向。
[编辑] 304 Not Modified
如果客户端发送了一个带条件的GET请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。
该响应必须包含以下的头信息:
Date,除非这个服务器没有时钟。假如没有时钟的服务器也遵守这些规则,那么代理服务器以及客户端可以自行将Date字段添加到接收到的响应头中去(正如RFC 2068中规定的一样),缓存机制将会正常工作。
新的永久性的URI应当在响应的Location域中返回。除非这是一个HEAD请求,否则响应的实体中应当包含指向新的URI的超链接及简短说明。
如果这不是一个GET或者HEAD请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。
注意:对于某些使用HTTP/1.0协议的浏览器,当它们发送的POST请求得到了一个301响应的话,接下来的重定向请求将会变成GET方式。
ETag和/或Content-Location,假如同样的请求本应返回200响应。
Expires, Cache-Control,和/或Vary,假如其值可能与之前相同变量的其他响应对应的值不同的话。
假如本响应请求使用了强缓存验证,那么本次响应不应该包含其他实体头;否则(例如,某个带条件的GET请求使用了弱缓存验证),本次响应禁止包含其他实体头;这避免了缓存了的实体内容和更新了的实体头信息之间的不一致。
[编辑] 302 Found
请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
新的临时性的URI应当在响应的Location域中返回。除非这是一个HEAD请求,否则响应的实体中应当包含指向新的URI的超链接及简短说明。
[编辑] 200 OK
请求已成功,请求所希望的响应头或数据体将随此响应返回。
[编辑] 201 Created
请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其URI已经随Location头信息返回。假如需要的资源无法及时建立的话,应当返回'202 Accepted'。
[编辑] 202 Accepted
与204响应一样,该响应也被禁止包含任何消息体,且以消息头后的第一个空行结束。
[编辑] 206 Partial Content
服务器已经成功处理了部分GET请求。类似于FlashGet或者迅雷这类的HTTP 下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。
该请求必须包含Range头信息来指示客户端希望得到的内容范围,并且可能包含If-Ra如下的头部域:
Content-Range用以指示本次响应中返回的内容的范围;如果是Content-Type为multipart/byteranges的多段下载,则每一multipart段中都应包含Content-Range域用以指示本段的内容范围。假如响应中包含Content-Length,那么它的数值必须匹配它返回的内容范围的真实字节数。
假如某个304响应指明了当前某个实体没有缓存,那么缓存系统必须忽视这个响应,并且重复发送不包含限制条件的请求。
假如接收到一个要求更新某个缓存条目的304响应,那么缓存系统必须更新整个条目以反映所有在响应中被更新的字段的值。
[编辑] 305 Use Proxy
被请求的资源必须通过指定的代理才能被访问。Location域中将给出指定的代理所在的URI信息,接收者需要重复发送一个单独的请求,通过这个代理才能访问相应资源。只有原始服务器才能建立305响应。
[编辑] 204 No Content
服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。
如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页面,而不产生任何文档视图上的变化,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。
HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由RFC 2616规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。
所有状态码的第一个数字代表了响应的五种状态之一。
Date
ETag和/或Content-Location,假如同样的请求本应该返回200响应。
Expires, Cache-Control,和/或Vary,假如其值可能与之前相同变量的其他响应对应的值不同的话。
假如本响应请求使用了If-Range强缓存验证,那么本次响应不应该包含其他实体头;假如本响应的请求使用了If-Range弱缓存验证,那么本次响应禁止包含其他实体头;这避免了缓存的实体内容和更新了的实体头信息之间的不一致。否则,本响应就应当包含所有本应该返回200响应中应当返回的所有实体头部域。
注意:RFC 2068中没有明确305响应是为了重定向一个单独的请求,而且只能被原始服务器建立。忽视这些限制可能导致严重的安全后果。
[编辑] 306 Switch Proxy
在最新版的规范中,306状态码已经不再被使用。
[编辑] 307 Temporary Redirect
[编辑] 1xx消息
这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。
[编辑] 100 Continue
[编辑] 303 See Other
对应当前请求的响应可以在另一个URI上被找到,而且客户端应当采用GET的方式访问那个资源。这个方法的存在主要是为了允许由脚本激活的POST请求输出重定向到一个新的资源。这个新的URI不是原始资源的替代引用。同时,303响应禁止被缓存。当然,第二个请求(重定向)可能被缓存。
如果这不是一个GET或者HEAD请求,那么浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。
注意:虽然RFC 1945和RFC 2068规范不允许客户端在重定向时改变请求的方法,但是很多现存的浏览器将302响应视作为303响应,并且使用GET方式访问在Location中规定的URI,而无视原先请求的方法。状态码303和307被添加了进来,用以明确服务器期待客户端进行何种反应。
只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。
[编辑] 102 Processing
由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
[编辑] 2xx成功
这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。
[编辑] 203 Non-Authoritative Information
服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超级。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。
如果服务器本身已经有了首选的回馈选择,那么在Location中应当指明这个回馈的URI;浏览器可能会将这个Location值作为自动重定向的地址。此外,除非额外指定,否则这个响应也是可缓存的。
[编辑] 301 Moved Permanently
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。
客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。
[编辑] 101 Switching Protocols
服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade消息头中定义的那些协议。
假如ETag或Last-Modified头部不能精确匹配的话,则客户端缓存应禁止将206响应返回的内容与之前任何缓存过的内容组合在一起。
任何不支持Range以及Content-Range头的缓存都禁止缓存206响应返回的内容。
[编辑] 207 Multi-Status
由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。
相关文档
最新文档