Http 状态码详解

226 IM Used

=========================================================================

服务器已经满足了请求所要的资源,并且响应是一个或者多个实例操作应用于当前实例的结果。

3XX跳转

===================================================================

这一类状态码意味着客户端必须执行额外的动作去完成请求。大部分这些状态码被用于url重定向。只有当第二请求方法是GET或者是HEAD的情况下,用户代理可能会执行额外的动作在没有用户交互的情况下。一个用户代理不能自动地重定向请求超过5次,因为这样的重定向经常意味着一个死循环。

300 多重选择

======================================================================

意味着对于这个资源有多个选项需要客户端注意。例如,可以用来展示不同格式的视频,使用不同的扩展名列出文件,或者消除文字的歧义。

301 永久移动

======================================================================

当前以及未来的所有请求应该被定位到指定的url上去。

302 发现

====================================================================

这是工业实践和标准相矛盾的例子。HTTP/1.0规范需要客户端执行一个临时的跳转(原始的描述短语是”临时移动”),但是流行的浏览器使用303查看其它的功能去实现302.因此,HTTP/1.1添加了状态码303和307去分辨这两个操作。然而,一些web程序和框架使用302状态码就好像它是303一样。

303 查看其它

======================================================================

当前请求的响应能够在其它的URI地址上使用GET方法发现。当接收到一个POST响应的请求,则应该假设服务器已经收到数据而且跳转应该发出一个单独的GET消息。

304 未修改

=====================================================================

意味着资源没有被修改因为请求头指定的版本跟本地保存的版本并未修改或没有匹配。这说明没有必要重新传输资源,因为客户端仍然有一个以前下载的副本。

305 使用代理(自从HTTP/1.1)

==================================================================================

请求的资源只能通过代理才能访问,并且访问的地址由响应提供。很多HTTP客户端(像火狐和IE)因为安全问题,不能正确地处理该响应。

306 切换代理

======================================================================

不再使用。原意是随后的请求应该使用指定的代理。

307 临时跳转(自从HTTP/1.1)

==================================================================================

在这种情况下,当前请求应该被另一个URI地址重新发送,然而未来的请求仍然应该使用原始的URI地址。和302不同的是历史实现,请求方法不允许改变当重新发送原始请求。例如,一个POST请求应该被另一个POST请求重新发送。

308 永久转移

======================================================================

这个请求和以后的请求都应该被另一个URI地址重新发送。307、308和302、301有相同的表现,但是不允许HTTP方法改变。例如,请求表单到一个永久转移的资源将会继续顺利地执行。

4XX 客户端错误

=======================================================================

4XX类别的状态码是为了预防客户端出现错误的情况。除了响应请求头的情况,服务器应该包括错误情形解释的实体无论是临时的还是永久的条件。这些状态码可以和任何请求方法匹配。用户代理应该展示可以被包括的实体给用户。

400 错误请求

======================================================================

服务器因为一些事情感知到客户端的错误而不继续处理请求(例如不正确的请求语法,无效的请求消息框架,以及虚假的请求路由)。

401 未授权

=====================================================================

和403禁止相似,但是明确用于需要授权的、失败的或者是不支持的。响应必须包括适用于请求资源的WWW-认证头字段。查看基本访问认证和数字访问认证。

402 需要付款

======================================================================

为以后保留使用。原意是该状态码可被用于一些数字货币或者是微支付,但是目前还没有普及,所以这些代码不经常被使用。YouYube使用这个状态如果某个IP地址发出了过多的请求,并要求用户输入验证码。

403 禁止访问

======================================================================

这个请求是一个有效的请求,但是服务器拒绝响应它。和401未授权的响应不同,是否授权并没有区别。

404 找不到

=====================================================================

请求资源无法被找到但是可能以后会再次有效。客户端以后发出的请求也是被允许的。

405 方法不允许

=======================================================================

请求由不支持该方法的资源发出。例如,使用GET方法在一个需要数据通过POST展现的表单或者是使用PUT在一个只读的资源中。

406 不可接受的

=======================================================================

被请求的资源只能用于生成内容而不会接收发送请求中的头。

407 需要代理认证

========================================================================

客户端必须首先使用代理认证自己。

408 请求超时

======================================================================

服务器超时等待请求。根据HTTP规范:”客户端在服务器等待期间没有发出任何请求”。客户端可能会在未来的某个时候重复请求而不做任何修改。

409 冲突

====================================================================

意味着请求不能被处理因为存在冲突,例如多个更新的情况下存在修改冲突。

410 遗失的

=====================================================================

当前状态意味着被请求的资源不再有效并且以后也不会再次生效。一般用于一个资源被有意地删除或者资源需要被清除。一旦接收410状态码,客户端将不应该再次请求该资源。例如搜素引擎应该从它们的下表中移除资源。大部分用例并不需要客户端和搜索引擎清空资源,而是使用404找不到来代替。

411 长度要求

======================================================================

请求没有指定内容的长度,但是请求的资源需要指定。

412 前置条件失败

========================================================================

服务器不满足请求者所请求的预置条件。

413 响应实体太大

========================================================================

请求超过服务器所能处理和允许的最大值。

414 请求-URI太长

==========================================================================

被提供的URI对服务器的处理来说太长。经常出现在太多被编码的数据被作为查询字符串的GET请求的结果,因此需要被转换为POST请求。

415 不被支持的媒体类型

===========================================================================

请求实体的媒体类型不被服务器或者资源支持。例如,客户端上传一个image/svg+xml的图片,但是服务器需要图片使用不同的格式。

416 请求范围不能满足

==========================================================================

客户端要求文件的部分(字节服务),但是服务器不能提供那部分的内容。例如,如果客户端要求的部分超过文件的底端。

417 期望失败

======================================================================

服务器期望请求头字段的要求。

418 我是一个茶壶

========================================================================

这个代码是在1998年作为传统的IETF April Fools‘ jokes被定义的在RFC2324,超文本咖啡罐控制协议,但是并没有被实际的HTTP服务器实现。RFC指定了这个代码应该是由茶罐返回给速溶咖啡。

419 认证超时

======================================================================

并不是HTTP标注的一部分,419认证超时表示以前的有效证明已经失效了。同时也被用于401未认证的替代选择为了从其它被拒绝访问的已认证客户端中指定服务器的资源。

420 方法失效

======================================================================

不是HTTP的标准,但是被Spring定义在HTTP状态类中当方法失时使用。这个状态码已经不推荐在Spring中使用。

420 提高你的耐心

========================================================================

也不是HTTP标准的一部分,但是被版本1的Twitter搜索和趋势APi返回当客户端的速率被限制的时候。其它的服务提供商可能会使用429太多的请求响应码来代替。

421 误导请求

======================================================================

请求被直接定向到不能产生响应的服务器上(例如因为一个连接的复用)。

422 不可处理的实体(WebDAV)

=================================================================================

请求符合要求但是不能接受错误由于语法错误。

423 锁定的

=====================================================================

资源访问被锁定。

424 失败的依赖

=======================================================================

请求由于上一个请求的失败而失败。

426 需要升级

======================================================================

客户端应该切换不同的协议例如TLS/1.0在指定的升级的头字段里。

428 需要前置条件

========================================================================

原始服务器需要有条件的请求。当客户端GET一个资源的状态的时候,同时又PUT回给服务器,与此同时第三方修改状态到服务器上的时候,为了避免丢失更新的问题发生将会导致冲突。

429 过多请求

======================================================================

用户已经发送了太多的请求在指定的时间里。用于限制速率。

431 请求头部字段太大

==========================================================================

服务器由于一个单独的请求头部字段或者是全部的字段太大而不愿意处理请求。

440 登陆超时(微软)

==========================================================================

一个微软的扩展,意味着你的会话已经超时。

444 无响应

=====================================================================

被使用在Nginx的日志中表明服务器没有返回信息给客户端并且关闭了连接(在威慑恶意软件的时候比较有用)。

449 重试(微软)

========================================================================

一个微软的扩展。请求应该在执行适当的动作之后被重试。

450 被Windows家长控制阻塞(微软)

====================================================================================

一个微软的扩展。这个错误是当Windows家长控制打开并且阻塞指定网页的访问的时候被指定。

451 由于法律原因而无效(因特网草稿)

==================================================================================

被定义在因特网草稿“一个新的HTTP状态码用于法律限制的资源”。被用于当资源的访问由于法律原因被禁止的时候。例如检查制度或者是政府强制要求禁止访问。一个例子是1953年dystopian的小说Fahrenheit 451就是一个非法的资源。

451 重定向(微软)

=========================================================================

被用在Exchange ActiveSync中如果一个更有效的服务器能够被使用或者是服务器不能访问用户的邮箱。

客户端会假定重新执行HTTP自动发现协议去寻找更适合的服务器。

494 请求头太大(Nginx)

==============================================================================

Nginx内置代码和431类似,但是是被更早地引入在版本0.9.4(在2011年1月21日)。

495 证书错误(Nginx)

=============================================================================

Nginx内置的代码,当使用SSL客户端证书的时候错误会出现为了在日志错误中区分它和4XX和一个错误页面的重定向。。

496 没有证书(Nginx)

=============================================================================

Nginx内置的代码,当客户端不能提供证书在日志中分辨4XX和一个错误页面的重定向。

497 HTTP到HTTPS(Nginx)

===================================================================================

Nginx内置的代码,被用于原始的HTTP的请求发送给HTTPS端口去分辨4XX在日志中和一个错误页面的重定向。

498 令牌超时或失效(Esri)

===============================================================================

由ArcGIS for Server返回。这个代码意味着令牌的超时或者是失效。

499 客户端关闭请求(Nginx)

================================================================================

被用在Nginx日志去表明一个连接已经被客户端关闭当服务器仍然正在处理它的请求,是的服务器无法返货状态码。

499 需要令牌(Esri)

============================================================================

由ArcGIS for Server返回。意味着需要一个令牌(如果没有令牌被提交)。

5XX 服务器错误

=======================================================================

服务器似乎不能满足有效的请求

以数字5开头的响应状态码意味着服务器已经意识到遇到了一个错误或者是无法发送请求。除了响应HEAD请求的时候,服务器应该包含一个保存错误情形解释的实体,并且标识这个情况是暂时的还是永久的。同样地,用户代理也应该展示任何被包含的实体给用户。这些响应码适用于任何请求方法。

500 服务器内部错误

=========================================================================

最后

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

选定你想去的几家公司后,先去一些小的公司练练,学习下面试技巧,总结下,也算是熟悉下面试氛围,平时和同事或者产品PK时可以讲得头头是道,思路清晰至极,到了现场真的不一样,怎么描述你所做的一切,这绝对是个学术性问题!

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)


《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
些小的公司练练,学习下面试技巧,总结下,也算是熟悉下面试氛围,平时和同事或者产品PK时可以讲得头头是道,思路清晰至极,到了现场真的不一样,怎么描述你所做的一切,这绝对是个学术性问题!

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-khrXNH2x-1715629297700)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值