哪些浏览器支持307/308重定向以及如何处理它们?

时间:2017-03-09 19:16:33

标签: http redirect cross-browser http-status-code-404 http-status-code-308

307&大多数现代浏览器都接受308重定向(https://tools.ietf.org/html/rfc7538)。

然而,在google-ing很多时,我无法找到支持307/308重定向的浏览器版本列表。许多帖子如:What's the deal with HTTP status code 308?只是询问是否支持308重定向。

我知道有些旧浏览器不支持307/308重定向(https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308),但不清楚哪个浏览器版本没有。

所以我的问题是,哪个浏览器版本支持307/308重定向?

旧浏览器如何处理此状态代码?他们只是失败了吗?

3 个答案:

答案 0 :(得分:6)

截至2018年2月20日,由于在Windows 7和8.1上缺乏对IE 11的支持,所有现代/支持的浏览器都不支持它:

  • 失败 - Windows 7上的IE 11(版本11.0.9600.18893)。在站点中使用308时,浏览器似乎挂起并且未加载任何内容。 [编辑]截至2018年7月25日,这仍然失败(版本11.0.9600.19035) - 以防万一,MS,你知道,MS决定对开发者的世界有所帮助。
  • 传递 - Windows 10上的IE 11(版本11.786.15063.0)
  • 传递 - Windows 10上的Edge(版本40.15063.674.0)
  • 分别在Windows 7和Mac OS 11.6上
  • 传递 - Chrome(版本63.0.3239.132和63.0.32.132)
  • 传递 - Mac OS 11.6上的Opera(版本50.0.2762.67)
  • 分别在Mac OS 11.6和Windows 7上
  • 传递 - Firefox(版本54.0.4和47.0.2)
  • 传递 - Mac OS 11.6上的Safari(版本11.0.3)

您可以在此处测试您的浏览器是否支持308重定向:http://webdbg.com/test/308/

建议使用301或307作为当前解决方案,直到IE和/或Windows 7& 8.1-死于可怕而痛苦的死亡(因为微软没有计划永远在Windows上添加308支持IE 7 / 8.1)。

答案 1 :(得分:0)

所有当前浏览器都支持308(AFAIU)。

请参阅https://greenbytes.de/tech/tc/httpredirects

答案 2 :(得分:-1)

308重定向是在HTTP / 2几个月前首次引入的。因此,从理论上讲,所有支持HTTP / 2的浏览器均支持308重定向,并且可以通过检测HTTP / 2或更高版本的使用来检测兼容性。自1999年以来,已经有307次重定向,这意味着所有现代浏览器都支持它。

根据RFC 2616,对于307个响应,您应该包括一个简短的超文本注释,其中包含在新URI上重复原始请求所必需的信息。例如,这可能是一种表单,其中包含隐藏字段以及原始请求中提交的所有POST变量。

因此,这告诉我,如果您的网络浏览器太旧,不知道如何处理响应代码,它将在向用户显示响应正文时将其忽略。

  

临时URI应该由“位置”字段中的   响应。除非请求方法是HEAD,否则的实体   响应应包含简短的超文本注释,并带有指向   新的URI,因为许多HTTP / 1.1之前的用户代理不了解   307状态。因此,注释应包含以下信息:   用户在新URI上重复原始请求所必需的。

https://tools.ietf.org/html/rfc2616#page-65