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重定向?
旧浏览器如何处理此状态代码?他们只是失败了吗?
答案 0 :(得分:6)
截至2018年2月20日,由于在Windows 7和8.1上缺乏对IE 11的支持,所有现代/支持的浏览器都不支持它:
您可以在此处测试您的浏览器是否支持308重定向:http://webdbg.com/test/308/
建议使用301或307作为当前解决方案,直到IE和/或Windows 7& 8.1-死于可怕而痛苦的死亡(因为微软没有计划永远在Windows上添加308支持IE 7 / 8.1)。
答案 1 :(得分:0)
所有当前浏览器都支持308(AFAIU)。
答案 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上重复原始请求所必需的。