当前位置: 首页 > news >正文

HTTP协议的状态码

对于Web编程人员来说,熟悉了解HTTP协议的状态码是很有必要的,很多时侯可能根据HTTP协议的状态码很快就能定位到错误信息!今天整理了一下所有HTTP状态码。

  HTTP状态码(HTTP Status Code)是用来表示网页服务器HTTP 响应状态的3位数字代码。它由RFC 2616规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。



  HTTP/1.1定义的状态码值和对应的原因短语(Reason-Phrase)的例子。

  1XX表示:消息

  这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。 这些状态码代表的响应都是信息性的,标示客户应该采取的其他行动。

  “100″ : Continue  客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分.

  “101″ : witching Protocols 服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade消息头中定义的那些协议。: 只有在切换新的协议更有好处的时候才应该采取类似措施.

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

  2XX表示:成功

  这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。

  “200″ : OK

  “201″ : Created 已创建

  “202″ : Accepted 接收

  “203″ : Non-Authoritative Information 非认证信息

  “204″ : No Content 无内容

  “205″ : Reset Content 重置内容

  “206″ : Partial Content 服务器已经成功处理了部分GET请求。类似于FlashGet或者迅雷这类的HTTP 下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。

  “207″: Multi-Status 由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码.

  3XX表示: 重定向

  这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。

  “300″ : Multiple Choices 多路选择

  “301″ : Moved Permanently  永久转移

  “302″ : Found 暂时转移

  “303″ : See Other 参见其它

  “304″ : Not Modified 未修改

  “305″ : Use Proxy 使用代理

  “306″: Switch Proxy  在最新版的规范中,306状态码已经不再被使用。
  “307″ : Temporary Redirect 请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。

  4XX表示: 客户端错误

  这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。

  “400″ : Bad Request 错误请求

  “401″ : Unauthorized 未认证

  “402″ : Payment Required 需要付费

  “403″ : Forbidden 禁止

  “404″ : Not Found  请求失败,请求所希望得到的资源未被在服务器上发现

  “405″ : Method Not Allowed 方法不允许

  “406″ : Not Acceptable 不接受

  “407″ : Proxy Authentication Required 需要代理认证

  “408″ : Request Time-out 请求超时

  “409″ : Conflict 冲突

  “410″ : Gone 失败

  “411″ : Length Required 需要长度

  “412″ : Precondition Failed 条件失败

  “413″ : Request Entity Too Large 请求实体太大

  “414″ : Request-URI Too Large 请求URI太长

  “415″ : Unsupported Media Type 不支持媒体类型

  “416″ : Requested range not satisfiable 如果请求中包含了Range请求头,并且Range中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义If-Range请求头,那么服务器就应当返回416状态码。

  “417″ : Expectation Failed 在请求头Expect中指定的预期内容无法被服务器满足

  “421 “:There are too many connections from your internet address 从当前客户端所在的IP地址到服务器的连接数超过了服务器许可的最大范围。通常,这里的IP地址指的是从服务器上看到的客户端地址.

  “422″: Unprocessable Entity 请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)

  “423″: Locked 当前资源被锁定。(RFC 4918 WebDAV)

  “424″: Failed Dependency 由于之前的某个请求发生的错误,导致当前请求失败,例如PROPPATCH。(RFC 4918 WebDAV)

  “425″: Unordered Collection 在WebDav Advanced Collections草案中定义,但是未出现在《WebDAV顺序集协议》(RFC 3658)中。

  “426″:Upgrade Required 客户端应当切换到TLS/1.0。(RFC 2817)

  “449″: Retry With 由微软扩展,代表请求应当在执行完适当的操作后进行重试。

  5XX表示: 服务器错误

  这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生

  “500″ : Internal Server Error  服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现

  “501″ : Not Implemented 未实现

  “502″ : Bad Gateway  作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应

  “503″ : Service Unavailable 由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。

  “504″ : Gateway Time-out 网关超时

  “505″ : HTTP Version not supported  服务器不支持,或者拒绝支持在请求中使用的HTTP版本。这暗示着服务器不能或不愿使用与客户端相同的版本。响应中应当包含一个描述了为何版本不被支持以及服务器支持哪些协议的实体。

  “506” : Variant Also Negotiates 由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。

  “507” : Insufficient Storage 服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。WebDAV(RFC 4918)

  “509” : Bandwidth Limit Exceeded 服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。

  “510” : Not Extended 获取资源所需要的策略并没有没满足。(RFC 2774)

转载于:https://www.cnblogs.com/kekuixiong/archive/2013/01/05/2846872.html

相关文章:

  • 使用NSTimer与iphone的简单动画,实现飘雪效果
  • Java的动态性支持学习一 - 反射机制 概念概述
  • 获取GridView行索引
  • win32 多线程基础
  • javascript 跳转页面
  • Java 泛型(一) 泛型使用基础
  • Codeforces 264B Good Sequences ★ (分解素因子+DP)
  • Unity(五):使用场景Ⅱ:用于单例模式
  • 【ZZ】9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路...
  • 密码绑定至密码文本框中
  • 使用PowerDesigner建立数据库模型
  • outerHTML兼容方法(jquery)
  • 解决compilation debug=true targetFramework=4.0 问题
  • Python学习笔记《Python核心编程》第13章 面向对象编程
  • GDI+ 图片高亮处理
  • 分享的文章《人生如棋》
  • Akka系列(七):Actor持久化之Akka persistence
  • Flannel解读
  • HTTP那些事
  • JavaScript新鲜事·第5期
  • JAVA多线程机制解析-volatilesynchronized
  • mysql中InnoDB引擎中页的概念
  • Redux系列x:源码分析
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Terraform入门 - 1. 安装Terraform
  • vue数据传递--我有特殊的实现技巧
  • 浅谈Golang中select的用法
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 推荐一个React的管理后台框架
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 一文看透浏览器架构
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #define与typedef区别
  • #etcd#安装时出错
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .net下简单快捷的数值高低位切换
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [bzoj4240] 有趣的家庭菜园
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)
  • [HTML]Web前端开发技术30(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [JavaEE系列] Thread类的基本用法
  • [JS]JavaScript 注释 输入输出语句
  • [MySQL FAQ]系列 -- 账号密码包含反斜线时怎么办
  • [python]python os模块 常用命令
  • [SRM] 10 CCZ的诗