-2

Web アプリケーションがデータベースに依存して動的コンテンツを提供し、そのコンテンツが何らかの理由 (データベース サーバーのダウンなど) で利用できない場合、このシナリオを処理するための推奨される方法は何ですか?

  1. 訪問者をカスタム 404 ページにリダイレクトしますか?
  2. とにかくページを表示しますが、コンテンツが本来あるはずの場所に何らかのエラー メッセージを含めますか?
  3. 静的コンテンツを含む関連ページを表示しますか?
  4. 他の?

ウェブマスターやシステム管理者に通知するだけでなく、適切なエラー ログを作成する必要があることを理解しています。私は主に、この状況でエンド ユーザーに表示されるベスト プラクティスに関心があります。

4

4 に答える 4

4

できれば #3 (たとえば、20 分ごとに取得される動的コンテンツのスナップショット) ですが、<time> の時点で静的コンテンツであり、システムの問題が解決され次第更新されることを明確にしてください。

エラーが人間が判読可能であり、Java などからの例外のスタック トレースの文字通りの再出力でない限り、できない場合は #2。

于 2009-11-04T04:29:12.910 に答える
4

何をするにしても、 404 を返さないでください。アプリケーションが正しく動作していない可能性がありますが、URL が間違っているという印象を与えたくありません。他のことは別として、これはサイトの SEO に悪影響を及ぼす可能性があります。

200 以外の HTTP ステータスを返す場合は、503 "Service Unavailable" レスポンスをお勧めします。これは、HTTP 要求に何か問題があるというよりは、アプリケーションに一時的な障害があることを示しています。

于 2009-11-04T04:59:24.433 に答える
3

それは、ページ全体のコンテンツがデータベースにどの程度結びついているかにかかっていると思います。たとえば、私たちの Web アプリでは、データベースがダウンしている場合、認証方法はありません。私たちの唯一の手段は、「現在問題が発生しています。後でまた立ち寄ってください。

今; 動的コンテンツがほとんど静的ファイルの上にある今日の引用に似ている場合は、コンテンツの代わりに単純なエラー メッセージが表示されます。または、動的コンテンツをすべて一緒に省略することが適切です。

そう; ページが提供するサービスと、バックエンドなしで有用なものを提供できるかどうかによって異なります。

于 2009-11-04T04:32:01.190 に答える
1

#3 がおそらく最適だと思いますが、常に実行できるとは限りません。それが不可能な場合は、ある種の「技術的な問題です。しばらくお待ちください...」が最適かもしれません (明らかに、文言をより適切なものに変更できます)。実際にエラーを印刷するのは避けてください: ERR_123/SIGSEGV! (またはそのようなもの)大きな赤い文字で。アプリが壊れているとユーザーに思わせ、戻ってこないかもしれません。

于 2009-11-04T04:35:33.920 に答える