什么是HTTP状态代码308的处理?

时间:2013-01-03 18:11:24

标签: http-status-codes rfc http-status-code-308

IETF RFC草案The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect)将HTTP状态308定义为永久重定向。当然,应该注意到这是一份草案文件,并在其文件标题中包含文本“过期日期:2012年9月27日”,我认为这意味着它现在应该被视为无效,但我不熟悉IETF的流程因此对此没有信心。

维基百科文章List of HTTP status codes使用308的定义,也是:

  

308永久重定向(批准为实验RFC [12]

     
    

请求和所有将来的请求应使用另一个URI重复。 307和308(如提议的那样)并行302和301的行为,但不允许HTTP方法改变。因此,例如,将表单提交到永久重定向的资源可能会顺利进行。

  
     

...

     

[12]:"The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect)"IETF。 2012.检索2012年3月27日。

当时微软的Eric Law在Pushing the Web Forward with HTTP/308中评论了这个HTTP / 308代码。这让我发现Firefox在这个意义上支持308。

但是,当我查看库时,我发现还有另一种用法:

    308: ('resume_incomplete', 'resume'),

这似乎来自Google Gears resumable HTTP requests proposal,定义了308 Resume Incomplete。似乎有一些用法。当然,这些提案都没有承认对方的存在。

那是怎么回事? 308 Permanent Redirect还活着吗?状态代码308发生了什么?我该怎么办?

2 个答案:

答案 0 :(得分:4)

互联网草案尚未过期(因为它已过期前已获批准)。有关当前发布状态,请参阅https://datatracker.ietf.org/doc/draft-reschke-http-status-308/http://www.rfc-editor.org/queue2.html#draft-reschke-http-status-308

答案 1 :(得分:1)

请参阅下面关于这个问题的Chris Morgan评论(我的原始答案提到了http://insanecoding.blogspot.co.il/2014/02/http-308-incompetence-expected.html?m=1,但Chris的参考情况要好得多。)

为了了解308还没有到目前为止,请参阅Microsoft的.NET框架V4(http://msdn.microsoft.com/en-us/library/system.net.httpstatuscode(v=vs.110).aspx)中定义的HTTP代码HttpStatusCode枚举。具体而言,没有提及代码308。