`
cuisuqiang
  • 浏览: 3936439 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3650939
社区版块
存档分类
最新评论

四个新的 HTTP 状态码

    博客分类:
  • JS
阅读更多

428 Precondition Required

先决条件是客户端发送 HTTP 请求时,如果想要请求能成功必须满足一些预设的条件。

一个好的例子就是 If-None-Match 头,经常在 GET 请求中使用,如果指定了 If-None-Match ,那么客户端只在响应中的 ETag 改变后才会重新接收回应。

先决条件的另外一个例子就是 If-Match 头,这个一般用在 PUT 请求上用于指示只更新没被改变的资源,这在多个客户端使用 HTTP 服务时用来防止彼此间不会覆盖相同内容。

当服务器端使用 428 Precondition Required 状态码时,表示客户端必须发送上述的请求头才能执行请求,这个方法为服务器提供一种有效的方法来阻止 'lost update' 问题。

429 Too Many Requests

当你需要限制客户端请求某个服务数量时,该状态码就很有用,也就是请求速度限制。

在此之前,有一些类似的状态码,例如 '509 Bandwidth Limit Exceeded'. Twitter 使用 420 (这不是HTTP定义的状态码)

如果你希望限制客户端对服务的请求数,可使用 429 状态码,同时包含一个 Retry-After 响应头用于告诉客户端多长时间后可以再次请求服务。

431 Request Header Fields Too Large

某些情况下,客户端发送 HTTP 请求头会变得很大,那么服务器可发送 431 Request Header Fields Too Large 来指明该问题。

我不太清楚为什么没有 430 状态码,而是直接从 429 跳到 431,我尝试搜索但没有结果。唯一的猜测是 430 Forbidden 跟 403 Forbidden 太像了,为了避免混淆才这么做的,天知道!

511 Network Authentication Required

对我来说这个状态码很有趣,如果你在开发一个 HTTP 服务器,你不一定需要处理该状态码,但如果你在编写 HTTP 客户端,那这个状态码就非常重要。

如果你频繁使用笔记本和智能手机,你可能会注意到大量的公用 WIFI 服务要求你必须接受一些协议或者必须登录后才能使用。

这是通过拦截HTTP流量,当用户试图访问网络返回一个重定向和登录,这很讨厌,但是实际情况就是这样的。

使用这些“拦截”客户端,会有一些讨厌的副作用。在 RFC 中有提到这两个的例子:

如果你在登录WIFI前访问某个网站,网络设备将会拦截首个请求,这些设备往往也有自己的网站图标 ‘favicon.ico'。登录后您会发现,有一段时间内你访问的网站图标一直是WIFI登录网站的图标。

如果客户端使用HTTP请求来查找文档(可能是JSON),网络将会响应一个登录页,这样你的客户端就会解析错误并导致客户端运行异常,在现实中这种问题非常常见。

因此 511 状态码的提出就是为了解决这个问题。

如果你正在编写 HTTP 的客户端,你最好还是检查 511 状态码以确认是否需要认证后才能访问

 

标准定义官方网站:http://tools.ietf.org/html/rfc6585 !

分享到:
评论
1 楼 baoxiaofei 2012-06-04  
学习 收藏

相关推荐

    http状态码汇总及问题经验总结

    除了这几个常见的状态码外,还有哪些我们没有遇到过的但有可能出现的状态码呢?这里本人做了一个汇总,与大家分享一下。 常见的HTTP错误可以分为以下四大类。每一大类又细分为很多类小错误。当您打不开网站或者打开...

    北航计组P0-Logisim简单部件与状态机

    使用Logisim搭建一个除数为四位,原数据帧为8位的CRC校验码计算电路;一个四位运算单元ALU;一个GRF;一个Melay型有限状态机 检测串行输入字符串中的能匹配正则表达式b{1,2}[ac]{2}的子串并输出。

    四路互锁开关电路讲解

    电路图中,开关S1,S2,S3,S5为每个状态的选择按键,分别对应D2,D4,D7,D10四个发光二极管以及相应的继电器。开关S4为复位按键,按下开关S4可使电路恢复至初始状态。 CD4028B是本例电路的核心控制器,它是一个四...

    OMRON-欧姆龙系列PLC四位密码解密软件可解CQM1H C200H

    本坛又一力作,经过几天的努力终于制作了这个真正的在运行状态下直读密码,无需停机,又安全快捷的解密软件。不但可以破解AR1001加密,还可以破解AR1002程序段加密,此软件可解CQM1H C200H,C200HS, C1000H, C2000H, ...

    人工智能-项目实践-检索系统-基于lucene全文检索引擎实现的短文本匹配系统

    简单的说Ajax请求通过XMLHttpRequest对象发送请求,该对象有四个状态(readyState): 0-未初始化、1-正在初始化、2-发送数据、3-正在发送数据、4-完成。 当XMLHttpRequest.readyState为4时,表示ajax请求已经完成...

    算法 格雷码 递归算法

    四. 实验内容――格雷码问题 1.问题描述 对于给定的正整数n,格雷码为满足如下条件的一个编码序列: (1) 序列由2n个编码组成,每个编码都是长度为n的二进制位串。 (2) 序列中无相同的编码。 (3) 序列中位置相邻的两...

    RiPro子主题-小八子主题V1.5.5版全网最牛逼ripro子主题+自助广告位购买+优惠码折扣+工单系统+任务系统

    WordPressRiPro子主题-小八子主题V1.5.5版全网最牛逼ripro子主题+自助广告位购买+优惠码折扣+工单系统+任务系统 ...6. 优化下载样式①样式 新增四个色调 后台自由切换 7. 新增略缩底图开关 源码仅供学习

    基于51的密码锁设计

    //函数功能:检测LCM是不是处于忙状态,并等待忙结束 //作者: //日期:2007.03.31 //============================================================= void check_busy(void) { uchar i; RS=0; RW=1; E=1; P0...

    java-servlet-api.doc

    因为HTTP是一个请求-响应协议,一个会话在客户机加入之前会被认为是一个新的会话。加入的意思是返回会话跟踪信息到服务器中,指出会话已被建立。在客户端加入之前,我们不能判断下一个客户端请求是目前会话的一部分...

    电子数字密码锁的设计

    设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。 基本要求: ... ...输入四位核对密码后,按“开锁”键,若密码...4、 用点阵显示开锁和闭锁状态。

    简要分析四路互锁开关电路图

    电路图中,开关S1,S2,S3,S5为每个状态的选择按键,分别对应D2,D4,D7,D10四个发光二极管以及相应的继电器。开关S4为复位按键,按下开关S4可使电路恢复至初始状态。 CD4028B是本例电路的核心控制器,它是一个四...

    欧姆龙4位密码真正的运行直读软件

    本坛又一力作,经过几天的努力终于制作了这个真正的在运行状态下直读密码,无需停机,又安全快捷的解密软件。不但可以破解AR1001加密,还可以破解AR1002程序段加密,此软件可解CQM1H C200H,C200HS, C1000H, C2000H, ...

    24062,6位数码管密码锁

    设计电路思路描述:本电路分为四部分组成:主程序部分,4×4矩阵键盘部分,6位数码管串口静态显示部分,24c02读写部分。 主程序部分主要分两方面:一、用户模式密码输入,密码比较,开锁,报警,修改密码;二、管理...

    multisim 实现四位二进制密码锁功能密码锁.rar

    1、在锁的控制电路中储存一个可修改的四位二进制代码作为密码,当输入代码与锁的密码相等时,进入开锁状态使锁打开。开锁状态时绿灯亮。 2、从第一个按键触动后的5秒内未将锁打开,则电路进入自锁状态,使之无法再...

    pcm.rar_pcm_pcm vhdl_pcm输入_vhdl pcm_码同步

    系统初始状态为失步态,失步信号FLOSS输出低电平,电路在输入码流里逐比特搜寻同步码,当搜寻到第一个偶帧同步码后,电路转为逐帧搜寻,当连续三帧均正确地搜寻到同步码后,系统状态转为同步态,失步信号输出高电平...

    21天状态提升训练营视频课程-网盘链接提取码下载 .txt

    失控的人生就像—辆中途脱轨的列车,危机四伏。如果你惊恐地发现,自己不再能掌控人生的列车: 生活节奏混乱,只能对着体检报告仰天长叹; 情者步领整失控,天天被喜怒忧悲思惊恐作弄;工作缶夫→堂控,只剩疲劳空虚无...

    简要分析四路互锁开关电路

    电路图中,开关S1,S2,S3,S5为每个状态的选择按键,分别对应D2,D4,D7,D10四个发光二极管以及相应的继电器。开关S4为复位按键,按下开关S4可使电路恢复至初始状态。 CD4028B是本例电路的核心控制器,它是一个四...

    今天给大家穿插讲一期常用的数字编码形式-BCD码 可能我们在学校经常使用二进制和十六进制的数字表达形式 然而大多数情况下我

    余3循环码是一种变权码,每一位的在不同代码中并不代表固定的数值,主要特点是相邻的两个代码之间仅有一位的状态不同。格雷码(也称循环码)是由贝尔实验室的FrankGray在1940年提出的,用于PCM方法传送信号时防止...

    中国邮政_EMS_邮政小包_对接文档_API接口文档

    3. 四级分拣码 4. 轨迹信息接口 4.1 实现方式 4.2 安全认证 4.3 报文格式 4.3.1 请求报文 4.3.2 响应报文 4.4 业务系统接口描述 4.4.1 运单轨迹信息获取接口 4.4.2 运单轨迹信息推送接口 5. 派揽相关接口 5.1上门取...

Global site tag (gtag.js) - Google Analytics