java - 如何使用 JAX-RS NewCookie 删除服务器上的 cookie?

标签 java http cookies jax-rs

我想删除服务器上的 cookie(通过将 Expires 设置为过去)。我如何使用 javax.ws.rs.core.NewCookie 执行此操作?我正在尝试这个,但它不起作用:

return Response.ok()
  .entity("hello world!")
  .cookie(
    new NewCookie(
      "foo",
      "",
      "/",
      ".example.com",
      1,
      "no comment",
      0, // maxAge
      false
    )
  )
  .build();

此代码段生成此 HTTP header :

Set-Cookie:foo=;Version=1;Comment="no comment";Domain=.example.com;Path=/

此 header 不会从服务器中删除 cookie。可能的解决方法是什么?

最佳答案

这是它的工作原理(相当肮脏的方法):

return Response.ok()
  .header(
    "Set-Cookie",
    "foo=deleted;Domain=.example.com;Path=/;Expires=Thu, 01-Jan-1970 00:00:01 GMT"
  );

关于java - 如何使用 JAX-RS NewCookie 删除服务器上的 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8080239/

相关文章:

java - 从身份验证后的 Web 获取 XML

javascript - 有没有办法从服务器指定浏览器(用户)?

java - 从服务器收到的未知初始字符集索引 '255'

java - Wicket基本实现向导步骤

java - 低延迟网络技术和银弹

google-chrome - 站点无法安装 : the page is not served from a secure origin

java - JSF 2.0 方法调用,参数来自 dataGrid 的 var

http - 将几页的 http 重写为 https

c# - global.asax 中的 MVC web 应用程序,当 session 超时时如何获取 cookie 值

c# - Cookie 和 C# HttpWebRequest