脚本宝典收集整理的这篇文章主要介绍了php – 在HTTP 202中使用位置标头是否符合RFC?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
故事从here开始分析PHP header()函数的行为.有趣的摘录:
第二个特殊情况是“位置:”标题.它不仅将此标题发回浏览器,而且还会向浏览器返回redIRECT(302)状态码,除非已设置了201或3xx状态码.
它们在此默认行为中未包含202状态代码.似乎他们不希望202回应有一个位置,确实:
header("HTTP/1.1 202"); header("Location: http://example.COM");
将客户端重定向到位置URL.当然,可以用header()函数的第三个参数来改变这个行为,但是引起我注意的是:为什么他们明白,默认情况下,202不会保留一个Location头?
该响应返回的实体应该包括请求的当前状态的指示,以及指向状态监视器的指针,或者用户何时可以期望请求被满足的估计.
它没有明确地引用位置标题,就像前面(在相同的Rfc文档)201响应中一样.这可能是为什么PHP家伙了解202响应不应该保持位置标题的原因.一个指针会被解释为位置头还是PHP家伙做错了假设?如果标准允许位置标题与202响应:应该不是官方文档更明确的像201响应定义?
最后我审查了最多的recently RFC版本,并在编辑中找到一点变化:
与此响应发送的表示应描述请求的当前状态,并指向(或嵌入)状态监视器,该状态监视器向用户提供何时将满足请求的估计.
再次,它不够明确地假定该点意味着位置标题.
简而言之,经过以上修订:我是RFC符合使用位置标题与202响应?
非常感谢你的时间.
因此,在202 Accepted响应中不应使用Location头. PHP家伙做了正确的解释.
编辑2017年3月:对不起,我忘了添加在同一个线程中交换的其他消息,所以我现在发布记录:
我:在section 4.1 of the RFC 7240作者(J. Snell)给出了一个使用位置标题在202接受响应的例子.他错了吗就像许多人从RFC 7231中了解这个行为一样.你可以向我发送有关这个有争议的问题的任何参考?
罗伊:这个例子没有指示,所以他没有错
因为他不说什么意思位置可以任意发送
信息.这仅仅是为某些状态代码定义.
例如,如果他说用户代理会使用它
该位置字段为用户提供状态指示符,然后
他会错的这可能是一个好主意,但不是
标准的一部分.
以上是脚本宝典为你收集整理的php – 在HTTP 202中使用位置标头是否符合RFC?全部内容,希望文章能够帮你解决php – 在HTTP 202中使用位置标头是否符合RFC?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。