如果网络的应用程序依赖于一个数据库,以提供动态内容,这些内容是不可用于无论任何原因(数据库服务器停机,等等), 什么是优选方法,用于处理这种情况?

  1. 重定向游客到一个自定义404页?
  2. 显示的网页,但无论如何,包括一些种类的错误消息的内容,否则是什么?
  3. 显示一个有关的网页,具有静态的内容?
  4. 其他的?

我的理解是正确的错误记录应该发生,以及通知的网站管理员和/或系统管理员。我最感兴趣的最佳做法是什么终端用户应该看到在这种情况。

有帮助吗?

解决方案

#3如果你能(例如快照动态的内容所采取的每20分钟),而是使它清楚地表明,它是静态的内容 <time> ,并将刷新,尽快系统的问题得到解决。

#2如果不可以,只要错误是人类的可读性和不文字重新打印的一个例外是堆跟踪从Java或somesuch.

其他提示

不管你做什么, 不不 返回404-你的申请不可能正常工作,但你不要给人的印象是,该网址是错误的。除了别的东西,这可能有负面影响你的网站的搜索引擎优化。

如果你要回一些HTTP状态的其它超过200,那么我建议503"服务不可用"的反应。这更多的是指示性的一个临时的故障的应用程序,而不是东西是错误的,与HTTP请求。

我想这取决于如何绑在数据库内容的整个网页。例如,在我们的网络应用程序,如果该数据库下来然后有没有方法的认证;我们唯一的度假酒店将是一个自定义的错误屏幕的效果'我们有问题现在;通过停止以后再次'.

现在;如果动态的内容类似于当天的报价上的一大部分是静态的文件,那么一个简单的错误消息,在地方内容;的作为或不作为动态的内容一起将是适当的。

如此;它取决于什么样的服务,该网页提供,和是否可以提供有用的东西没有后台.

我认为#3可能是最好的,但并不总是可行的。如果这是不可能的,某些种类的"技术上的困难,请站过..."可能更好(显然,你可以改变措辞要更好的东西).只要避免实际上的打印错误:ERR_123/"SIGSEGV"!(或类似的东西)在很大的红色信件。它使用户觉得您的应用程序被破坏,他们可能不回来了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top