【问题标题】:GAE HTTP Session; Why disable it?GAE HTTP 会话;为什么禁用它?
【发布时间】:2013-01-19 22:01:43
【问题描述】:

我的问题是关于 Java GAE 应用程序中的 HTTP 会话 (link)。在 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
  -->

我显然理解将&lt;sessions-enabled&gt; 设置为true 的好处:我们可以在servlet 中利用HTTP 会话。然而,这让我想知道为什么有人会一开始就想要启用会话。启用会话的缺点是什么?有哪些用例可以使它们保持禁用状态?

我不确定这个问题是否与 GAE 的 Python 或 Go 运行时有关,我只知道 Java 运行时。

【问题讨论】:

    标签: java google-app-engine httpsession


    【解决方案1】:

    启用会话的缺点是运营成本较高。许多大型、高流量的网站不保留匿名用户的会话数据以节省基础设施。随着带宽、CPU 和内存变得更便宜,这变得越来越不重要。当然,这取决于您的预算、您的网站做什么以及您希望它在预算范围内扩展多少。

    HTTP 是一种无状态协议。这使得它易于实施且非常可扩展,这是其惊人成功的两个原因。

    过度依赖会话会使许多 Web 应用程序变得不必要地复杂且难以扩展。

    【讨论】:

      猜你喜欢
      • 2012-12-27
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 2012-02-12
      • 2021-10-11
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多