【问题标题】:Should I return the cookie in every web response?我应该在每个网络响应中返回 cookie 吗?
【发布时间】:2011-05-30 13:45:09
【问题描述】:

当用户登录我的网站时,它会返回一个过期两个小时的 cookie。 cookie 不会在后续调用中返回,因此在两个小时后,即使用户仍在使用该网站,cookie 也会过期,然后重定向到登录页面。

所以我想我知道解决方案,但是在每次调用中返回带有“过期”的 cookie 是否是一个好习惯?

干杯。

【问题讨论】:

    标签: cookies session-cookies


    【解决方案1】:

    在每个服务器响应中设置会话 cookie 并不是什么大问题,尤其是因为客户端已经在每个请求中将其发送到服务器。

    但是,您可以做得更好。如果客户端带有一个即将过期的 cookie,例如,从现在开始不到 1 小时 50 分钟,您可以向他们发送一个设置为新的 2 小时过期日期的新 cookie。您可以在会话处理代码中轻松跟踪客户端 cookie 何时设置(因此必然会过期)。

    【讨论】:

    • 当然,这假定所有用户都会定期在 10 分钟内返回。在 1 点 49 分点击页面,然后在 12 分钟后再次返回,这意味着再见 cookie。对于简单的 cookie,带宽开销可以忽略不计,因此最好确保安全并随每个请求一起发送。
    • T-10 分钟、T-1 还是 T-0.1 真的没关系。我只是不认为不必要地向客户端发送东西,并通过每次请求更新其 cookie 使其工作是好的设计,无论开销有多小。
    【解决方案2】:

    归结为为什么不呢?它解决了超时问题,并且没有缺点。
    唯一的副作用是传输 cookie 所需的额外带宽,但这完全可以忽略不计。如果您确实关心该带宽,请仅每 n 分钟重新发送 cookie。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 2015-06-07
      • 2016-03-19
      • 1970-01-01
      • 2012-01-02
      • 2020-04-26
      • 1970-01-01
      相关资源
      最近更新 更多