30

一部のWebアーキテクトは、ステートレスWebアプリケーションを目指しているようです。それは基本的にユーザーセッションを保存しないことを意味しますか?それともそれ以上のものがありますか?

ユーザーセッションの保存だけの場合、それを行わないことの利点は何ですか?

4

2 に答える 2

34
  1. メモリ使用量を削減します。グーグルがすべてのユーザーに関するセッション情報を保存したと想像してみてください
  2. サーバーファームのサポートが簡単です。セッションデータが必要で、複数のサーバーがある場合は、サーバー間でそのセッションデータを同期する方法が必要です。通常、これはデータベースを使用して行われます。
  3. セッションの有効期限の問題を減らします。セッションの有効期限が切れると、見つけてテストするのが難しい問題が発生することがあります。セッションレスアプリケーションはこれらの影響を受けません。
  4. URLリンク可能性。一部のサイトでは、ユーザーがセッションで見ているもののIDが保存されています。これにより、ユーザーはURLをコピーして貼り付けたり、友達に送信したりすることができなくなります。

注:セッションデータは実際にはキャッシュされたデータです。これはそれが使用されるべきものです。再利用される高価なクエリがある場合は、それをセッションに保存します。後で入手しようとしたときに、そこにあるとは想定できないことを覚えておいてください。取得する前に、必ず存在するかどうかを確認してください。

于 2011-04-04T14:23:24.137 に答える
12

開発者の観点からは、ステートレスはアプリケーションをより保守しやすく、操作しやすくするのに役立ちます。作業中のWebサイトがステートレスであることがわかっている場合は、特定のページをロードする前に、セッションで正しく初期化されることを心配する必要はありません。

ユーザーの観点からは、ステートレスによりリソースをリンク可能にすることができます。ページがステートレスの場合、友人をそのページにリンクすると、私が見ているものが彼らに表示されることがわかります。

スケーリングとパフォーマンスの観点から、tstersの回答を参照してください。

于 2011-04-04T14:27:49.410 に答える