【发布时间】:2016-11-16 01:07:10
【问题描述】:
我有一个 REST Web 服务,它在响应中发送一个 cookie。 REST URL 看起来像 http://localhost:8080/myfoo/service/v1/acc/login
在我的 java 代码中,我设置了如下所示的 cookie
Response.ok(entity).cookie(new NewCookie("JSESSIONID", "12344", "/", "localhost", null, -1, false));
当我看到 Web 服务的响应标头时,cookie 标头如下所示
"JSESSIONID=12344;Domain=localhost;Path="/";Version=1"
但是,当我向以下相同域的另一条路径发出请求时
http://localhost:8080/mybar/service/v1/acc/profile
cookie 不会在请求中发送。
所以,当我在浏览器存储中查看 cookie(使用内容设置)时,我看到了下面的 cookie 条目。
Name: JSESSIONID
Content: 12344
Domain: localhost
Path: /myfoo/service/v1/acc/login
Send for: Any kind of connection
Accessible to script: Yes
Created: Wednesday, July 13, 2016 at 5:04:40 PM
Expires: When the browsing session ends
因此,如果您注意到,浏览器存储中 cookie 的路径属性与 REST 服务响应的不同。任何想法这里出了什么问题?
【问题讨论】:
-
换句话说,我无法覆盖 cookie 的默认“路径”属性值
标签: rest cookies path subdomain