使用 HTTP 状态 308 永久重定向是否安全?

使用 HTTP 状态 308 永久重定向是否安全?

使用 HTTP 状态代码是否安全308 永久重定向建议) 在服务器响应中?301 永久移动的问题在于它只适用于 GET 请求(公平地说:POST 将转换为 GET,这不是一个选项)。

该状态代码在“RFC 时间”中非常新,那么您有什么建议?

如果浏览器不知道 308,它会怎么做?它会找到位置并执行 302 吗?

答案1

虽然 308 现在是标准(https://www.rfc-editor.org/rfc/rfc7538),目前不安全[编辑](截至 2019 年 4 月 3 日),尤其是对于桌面应用程序,但在某些特定地区(例如印度)或针对平板电脑和移动设备的应用程序可能几乎是安全的。

缺乏安全性是因为 Windows 7 和 8.1 上的 IE 11 不支持它。在 IE 11 中,该网站似乎挂起了。幸运的是,Windows 10 附带的 IE 确实支持它,因此只需等待大多数人从 Windows 7 转向 Windows 7(Win 7 在全球使用统计数据中刚刚被 Win 10 超越,Win 8 的受欢迎程度远低于这两个系统)[编辑] 或者您的公司决定不再支持它(您可以从 2020 年 1 月 14 日起提出非常有力的理由,届时Windows 7 甚至失去长期支持),从 2022 年 6 月 15 日起,IE 本身将不再受支持(参见下载页面)。

所有其他现代浏览器都支持它(Chrome、Firefox、Safari、Edge、Opera)。

[编辑] 2019 年 3 月的使用统计数据可帮助您做出决定:

  • 36.52% 的桌面用户仍在使用 Windows 7
  • 9.83% 的桌面用户使用 IE;由于 Win10 大力推广 Edge,我认为这些用户中的大多数都使用 Win 7。

[编辑] 2022 年 3 月的使用情况统计数据:

  • 24.79%的桌面用户仍在使用Windows 7
  • 4.84% 的桌面用户使用 IE;由于 Win10 大力推广 Edge,我推测这些用户中的大多数使用 Win 7。参考净市场份额

因此,截至本次编辑(2022-03-11),使用 308 的决定将影响不到 5% 的桌面用户。如果您的应用程序更适合平板电脑/移动设备,则此值将明显较低。如果您的应用程序专门针对印度市场,情况也是如此。

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

答案2

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308

RFC 7538 提案目前已获得广泛支持。它是安全的。

308 代替 301。307 代替 302。

移动 != 重定向

移动提醒特定地址和/或文件已移动。重定向是新的位置或地址。

答案3

结束语:不,使用该状态代码不安全。详情请参阅评论。

308 不是标准 - 它只是一项提案,仍处于实验阶段。浏览器对于任何无法明确理解的 301-399 错误应回退到 300 解释。

有些浏览器根本无法识别该状态代码。

相关内容