添加多个cookie的更好方法是什么 - response.addCookie(cookie)或response.addHeader(“Cookie”,“value”)

时间:2013-11-12 05:59:42

标签: java rest servlets cookies http-headers

我想在响应中添加两个Cookie,并想知道这样做的最佳做法是什么?为什么?这是一个普遍的问题,但在我的情况下,我将响应发送到非Web浏览器REST客户端。以下是我能想到的几个选项:

Option 1:

// create cookie and set maxage, domain etc. if applicable
Cookie cookie1 = new Cookie("cookie1", "value1");
response.addCookie(cookie1);


// create cookie and set maxage, domain etc. if applicable
Cookie cookie2 = new Cookie("cookie2", "value2");
response.addCookie(cookie2);

Option 2:

response.addHeader("Cookie", "cookie1=value1");
response.addHeader("Cookie", "cookie2=value2");


Option 3:

response.addHeader("Cookie", "cookie1=value1;cookie2=value2");

Can someone plz suggest/reason the best way from above options. 

Thanks

1 个答案:

答案 0 :(得分:0)

首先,服务器需要在响应中设置Set-Cookie标头而不是Cookie标头。其次,addCookie(Cookie)方法专门用于让您的生活更轻松,使用它。 Cookie不仅仅包含cookie1=value1中的名称和值。它可以有一个年龄,一个路径,一个安全级别等。在String中写出这些是一件麻烦事。