【问题标题】:Using Connection Based State with Apache2在 Apache2 中使用基于连接的状态
【发布时间】:2009-09-12 07:52:23
【问题描述】:

我正在编写一个基于 HTTPS 的应用程序,使用 Apache2 作为 Web 服务器,使用 python 作为语言(还不确定是哪个框架或 Apache2 mod)。在客户端(不是 Web 浏览器)首先与服务器建立 HTTPS 连接后,它们应该发送身份验证消息。如果身份验证成功,他们可以发送更多命令,直到连接关闭(将使用 HTTP 1.1,保持活动时间较长)。我的问题是,是否有可能与连接相关联的状态?我不希望客户端必须发送 cookie 或会话 ID —— HTTPS 应用程序应该能够根据每个请求所属的连接找出会话......问题是如何?

【问题讨论】:

    标签: web-services web-applications apache2


    【解决方案1】:

    HTTP/S 是一种无状态协议,因此如果您不想让 cookie 维护状态,那么您必须每次使用隐藏变量或查询参数或其他方式将状态传递给服务器并小心它在服务器端。

    【讨论】:

    • 我想我不一定需要 HTTP/S 协议来维护状态。我所需要的只是某种唯一标识 Apache2 用于处理请求的底层 TCP 连接的方法。
    【解决方案2】:

    一种可能的解决方案是使用 SSL_SESSION_ID,应用程序可以使用 mod_python 访问该 ID,以唯一标识每个客户端。这样做的问题是 ID 可以明显改变——但我不清楚它是否可以在连接中间改变(这将是有问题的),或者只在连接之间改变(这很好——我实际上会需要强制执行此行为)。

    无论如何,如果原始问题中不清楚的话,这就是我正在寻找的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多