V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
httpbin - 协议调试工具
httpstatuses - 协议状态码查询
httpie - cURL-like tool for humans
Fiddler
zhwguest
V2EX  ›  HTTP

大家一般如何保证服务器 set-cookie 按序保存的

  •  
  •   zhwguest · 7 天前 · 336 次点击

    假设服务器会在请求响应中更新 set cookie 。假设服务器 set cookie 的顺序很重要。

    如果多个请求,服务器(内部会串行化),所以设置的 Cookie 有新旧之分。新 Set 的 Cookie 可以覆盖旧 Cookie ,但绝对不允许旧 Cookie 覆盖新 Cookie 。

    但是如果不是串行化发出请求,那么即使先发出 A ,也无法保证 A 的响应(更新 cookie )发生在 B 响应之前。就是说服务器设置的新 Cookie 可能被旧的响应覆盖。

    一般怎么解决这个问题呢?

    • 完全串行化访问?
    • 携带版本信息?
    • 时间戳?

    不知道有没有比较 Best Practice 的做法。如果 HttpOnly ,那么 web 端似乎手段更加有限?

    2 条回复    2024-12-13 17:37:21 +08:00
    yinmin
        1
    yinmin  
       7 天前 via iPhone   ❤️ 1
    如果 httponly 是无解的。解决方式是从客户端 cookie 存储数据转换成服务器 redis 存储数据。

    set cookie 发一份唯一不变的 id ,然后服务器 redis 基于唯一 id 存具体信息。
    wysnxzm
        2
    wysnxzm  
       7 天前   ❤️ 1
    zset
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2834 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 07:17 · PVG 15:17 · LAX 23:17 · JFK 02:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.