что за сделка с Cookie.setMaxAge (Integer.MAX_VALUE)? - PullRequest
6 голосов
/ 17 февраля 2012

setMaxAge должен контролировать максимальный возраст файла cookie, поэтому, если я намерен буквально установить максимально возможный возраст, логично было бы сделать:это вообще не приводит к Expires в HTTP-заголовке cookie, я тестирую его на WebSphere 7. Установка значения, равного 1 году, измеренному в секундах, работает нормально.*

PS Только что проверил на Tomcat7 - Integer.MAX_VALUE приводит к Max-Age=2147483647; Expires=Wed, 06-Mar-2080 21:30:32 GMT, поэтому с WebSphere должно быть что-то не так.

Ответы [ 2 ]

3 голосов
/ 26 июня 2012

Проблема описана в http://www -01.ibm.com / support / docview.wss? Uid = swg1PM34869 . Причина - это проблема тысячелетия: WAS7 записывает дату файлов cookie как YY, WAS6 как YYYY

2 голосов
/ 20 сентября 2013

вместо установки максимального возраста для cookie, этот метод setMaxAge добавляет секунды параметра int к текущей дате / времени SERVER и помещает это новое значение даты / времени в cookie в качестве времени его истечения. Позже, когда этот файл cookie отправляется в браузер, эта дата истечения срока действия сравнивается с датой / временем КЛИЕНТА, и срок действия файла cookie истекает, если дата его истечения была в прошлом.

поэтому вместо использования setMaxAge (int) используйте метод с датой и временем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...