1

私の質問は、Java GAEアプリのHTTPセッションに関するものです(リンク)。appengine-web.xmlのデフォルトバージョンでは、セッションは無効になっています。このHTMLコメントは、XMLファイルのすべての開始バージョンに含まれています。

  <!--
    HTTP Sessions are disabled by default. To enable HTTP sessions specify:

      <sessions-enabled>true</sessions-enabled>

    It's possible to reduce request latency by configuring your application to
    asynchronously write HTTP session data to the datastore:

      <async-session-persistence enabled="true" />

    With this feature enabled, there is a very small chance your app will see
    stale session data. For details, see
    http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions
  -->

trueに設定することの利点を明らかに理解してい<sessions-enabled>ます。サーブレットでHTTPセッションを利用できます。しかし、これはなぜ誰もがそもそもセッションを有効にしたくないのか疑問に思いました。セッションを有効にすることの欠点は何ですか?それらを無効に保つためのユースケースは何ですか?

この質問がGAEのPythonまたはGoランタイムに関連するかどうかはわかりませんが、Javaランタイムについての知識しかありません。

4

1 に答える 1

5

セッションを有効にすることの欠点は、運用コストが高くなることです。多くの大規模でトラフィックの多いWebサイトは、インフラストラクチャを節約するために匿名ユーザーからのセッションデータを保持していません。帯域幅、CPU、およびメモリが安くなるにつれて、これはますます重要ではなくなります。もちろん、それはあなたの予算、あなたのサイトが何をするか、そしてあなたがあなたの予算内でどれだけそれを拡大したいかに依存します。

HTTPはステートレスプロトコルです。これにより、実装が簡単になり、非常にスケーラブルになります。これは、驚くべき成功の2つの理由です。

セッションに依存しすぎると、多くのWebアプリが不必要に複雑になり、拡張が困難になります。

于 2013-02-05T03:40:58.763 に答える