为旧浏览器显示替代错误页面时使用什么 HTTP 状态代码?

2024-02-07

我有一个大量使用 CSS3 和一些 HTML5 现代功能的网站。所以它在 IE7 或更低版本中不起作用并且看起来很糟糕。我们决定不支持这些旧浏览器,因为这对于极少数用户来说工作量太大。他们看到的是特殊的错误/警告页面,而不是显示常规页面,他们在其中告知为什么看到它以及他们应该安装更新的浏览器。

这很好用。但我的问题是 - 我应该随此页面发送什么 HTTP 状态代码?有关系吗 ?现在正常200就可以了。

感谢您的时间和精力。


您在这里有多种选择,它们主要取决于两个参数:

  • 状态代码是否适合此类问题,甚至是否允许在不涉及问题的情况下使用它?HTTP事务但是content发送到浏览器? (浏览器显然不会通过 HTTP 判断它是否支持给定的 HTML/CSS 标准)。

  • 浏览器将如何解释它。某些浏览器在收到特定状态代码时甚至不会渲染发送的 HTML,而是显示默认的内置页面。

我要做的是选择一个正确记录的错误代码并将其用作语义响应,并确保浏览器不会忽略正文。我建议两种不同的解决方案:

  • 回应一个302 Found在最初请求的资源上,并在发送时将浏览器重定向到错误页面200 OK。这是大多数站长出现此类问题时所做的,主要是因为没有发生任何故障HTTP事务就其本身而言,我们只是重定向用户,以便根据额外的 HTTP 参数生成正确的视图。

  • 通过告诉浏览器发生了什么,为您的响应提供语义错误代码。同样,浏览器对此错误代码的反应是依赖于实现并且可能会有很大的变化。显然,一个4xx 状态码 http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error应该返回,因为它旨在表示客户端错误。我会很想使用415 Unsupported Media Type or a 417 Expectation Failed.

HTTP响应代码来源:http://en.wikipedia.org/wiki/List_of_HTTP_status_codes http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为旧浏览器显示替代错误页面时使用什么 HTTP 状态代码? 的相关文章

随机推荐