Вызывает HttpServletResponse.addCookie() с тем же именем файла cookie?

Вызывает

HttpServletResponse.addCookie();

(из servlet-api-2.5) несколько раз, используя безопасный файл cookie с таким же именем?

Безопасно в том смысле, что существует детерминированное поведение, например. последующие вызовы будут проигнорированы (первые победы) или последующие вызовы всегда будут заменять файл cookie или что-то в этом роде?

Пример:

HttpServletResponse response = ...;
response.addCookie(new Cookie("foo", "bar"));
response.addCookie(new Cookie("foo", "42"));

Какое значение будет передано и сохранено браузером?

Ответ 1

Обновленный ответ - поскольку комментарии от @skaffman и @Stephen C показывают, что это не идеальная практика.

Спецификация RFC в http://www.ietf.org/rfc/rfc2109.txt утверждает

Параметр-атрибут NAME = VALUE должен быть первым в каждом файле cookie. Если появляется атрибут более одного раза в cookie, поведение undefined.

На сервере Tomcat поведение - это фактические заголовки, отправленные в браузер:

Set-Cookie: foo = bar
Set-Cookie: foo = 42

Здесь foo перезаписывается. Чтение файла cookie позже дает вам 42.

Ответ 2

Дополнительный комментарий - обратите внимание, что настройка разных поддоменов на файлы cookie с тем же именем в одном ответе изменяет поведение. Я просто протестировал сохранение файлов cookie с тем же именем, но разными поддоменами в последних версиях java 1.6/firefox/safari/chrome на моем mac, и он вел себя так, как ожидалось, сохраняя оба файла cookie. Я понимаю, что это поведение не гарантируется спецификацией, но просто скажите, что может быть полезно знать об этом.