*** タイムアウト設計とは
平たく言うと 各システムや機能間における 接続時間を どのくらいの時間に設定するか?という話

*** なんで必要か?
1. セキュリティ観点
→ 例えば、セッションのタイムアウト値を無限にすると、ユーザがログイン → 離席 → 誰かが勝手に悪さをする!

  1. Server Resource が枯渇

– セッションタイムアウトを無限だと、セッション情報はサーバー上に保持しているため、100万人がユーザがいたら、100万セッション持つハメに。当然そんな長い必要はない。
– HttpRequest -> Response の Timeout値がないと、意図的に終わらないような処理が走った場合に、サーバーリソースを食い続けることになる

*** で、何を基準にどう設計する?
– 基本的には最も長い可能性がある処理の時間に合わせるのが良い
– で、かつ Serverリソースが枯渇しない程度の値を 想定アクセス数とServerSpec見合いで換算する
– 例えば 次のようなとか簡単なシステム構成であれば、設定Aは ServeletConatiner が 1処理を行う最長時間。設定Bは ServeletConainer が DBへ投げる 1Request が 帰ってくるまでの最長時間。
 HttpServer — 設定A –> ServletConatiner — 設定B –> DBServer