V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
howells
V2EX  ›  程序员

Cookie 中的 path 问题。

  •  
  •   howells · 162 天前 · 709 次点击
    这是一个创建于 162 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我现在有个前后端分离的项目,我请求的 url 为 localhost:8080/api/xxx/xxx ,然后前端代理把它转成 localhost:9090/api/xxx/xxx,这个时候,我发现后端返回前端的 cookie 的 path 是 / ,而不是 /api/xxx,请求知道是什么原因吗

    6 条回复    2020-11-06 15:32:59 +08:00
    syozzz
        1
    syozzz   162 天前
    cookiePath 后端是可以设置的啊, 你确定你的 /api 是应用的上下文,而不是后端设置的统一请求前缀?
    syozzz
        2
    syozzz   162 天前
    以 Springboot 为例。
    1. /api 是后端开发加的统一前缀,不是上下文,那么 cookiePath 就是默认的上下文 /。
    2. /api 是应用的上下文,但是后端开发自定义了 cookiePath,defaultCookieSerializer.setCookiePath("/"),那么 cookiePath 也为 /。
    howells
        3
    howells   162 天前
    @syozzz 我的 /api 只是个标识,说明这个请求需要 proxy,后端的请求 path 是带着 /api 的。对了,我描述的这个 cookie 是 JSESSIONID, 由 tomcat 去设置的
    howells
        4
    howells   162 天前
    @syozzz 后端没有自定义,虽然后端的 api 都带上了 /api,
    syozzz
        5
    syozzz   162 天前
    @howells 我的意思是你们后端没有设置上下文,应用的上下文就是 / 。而给你访问的 /api 是他统一写在 controller 的公共映射。所以 cookiePath 当然就是默认的上下文 / 。
    howells
        6
    howells   162 天前
    @syozzz 哦,明白你的意思了,非常感谢
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2013 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 10:34 · PVG 18:34 · LAX 03:34 · JFK 06:34
    ♥ Do have faith in what you're doing.