【问题标题】:HTTP Cookie Request Header sequence of eventsHTTP Cookie Request Header 事件序列
【发布时间】:2012-03-12 18:31:27
【问题描述】:

我对使用 cookie 时的事件顺序有点不确定。如果客户端应用程序反复从服务器请求同一页面,我认为会发生以下情况:

  1. 客户端应用程序发出请求
  2. 服务器端返回一个 Set-Cookie 响应头
  3. 客户端发出另一个请求,将步骤2中返回的cookie放入HTTP请求“Cookie”标头中
  4. 服务器端返回,但响应头中没有 Set-Cookie

这是正确的顺序吗? (我对第 4 步特别感兴趣 - 服务器是否返回 Set-Cookie 以响应提供 cookie 的请求)

有问题的 cookie 实际上是一个 JSESSIONID cookie,如果这有什么不同的话。

谢谢

戴夫

【问题讨论】:

    标签: http cookies session-cookies jsessionid


    【解决方案1】:

    是的,这是正确的顺序。但是,我看到许多应用程序发回具有相同值的“Set-Cookie”标头。它不会损害流程,因为值是相同的,即使客户端更新了 cookie,它仍然是相同的值(因此,相同的会话)。

    【讨论】:

    • 感谢 Piotrek - 我发现我的网络/应用程序服务器“有时”在第 4 步发送 Set-Cookie,但正在改变我在其他人传递的值。如果传入“cook123_node01”,有时我不会得到 Set-Cookie,但有时会得到 Set-Cookie“cook123_node02”——即 cookie 的前缀相同,但后缀不同。后缀用于将流量路由到 JBOSS 集群中的节点,因此当该值更改时,我们的会话亲和性也会损坏。我认为这是服务器配置错误,但在我开始发臭之前需要先确认一下。
    • 不客气 ;) 通常在两种情况下设置新的 Set-Cookie 标头:上一个会话已过期(超时)或用户已成功通过身份验证(以防止会话固定)
    猜你喜欢
    • 1970-01-01
    • 2014-03-12
    • 2018-04-09
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多