Ruft HttpServletResponse.addCookie() mit dem gleichen cookie-name sicher?
Ruft
HttpServletResponse.addCookie();
(von der servlet-api 2.5) mehrere Male mit einem cookie mit dem gleichen Namen sicher?
Sicher in dem Sinne, dass es ein deterministisches Verhalten, z.B. der nachfolgenden aufrufen werden ignoriert (der erste gewinnt) oder dem nachfolgenden Aufrufe werden immer ersetzen Sie das cookie oder sowas?
Beispiel:
HttpServletResponse response = ...;
response.addCookie(new Cookie("foo", "bar"));
response.addCookie(new Cookie("foo", "42"));
Welcher Wert wird übertragen und durch den browser gespeichert?
InformationsquelleAutor tbk | 2010-07-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aktualisierte Antwort - wie die Kommentare von @skaffman und @Stephen C zeigen, ist dies nicht ideal Praxis.
RFC-Spec auf http://www.ietf.org/rfc/rfc2109.txt Staaten
Tomcat-server, das Verhalten ist der eigentliche Header an den browser geschickt:
Hier foo überschrieben wird. Lesen Sie den cookie-später gibt Sie mit 42.
HttpServletResponse
etwas tut. Der API nicht definiert das Verhalten, obwohl, so dass andere Implementierungen könnten etwas anderes tun.Auch ich habe vorgeschlagen die O/P-versuchen auf seine server, um zu überprüfen, das Verhalten
gut, es wäre besser, zu vermuten, dass er es nicht tun! Es ist die Schaffung einer möglichen übertragbarkeit Problem.
Ich weiß über die undefinierten Verhalten in diesem RFC, aber haben gehofft, für eine bessere Spezifikation des Servlet-API (die nicht unter die Javadocs).
InformationsquelleAutor JoseK
Weiteren Kommentar - Hinweis, die Einstellung von verschiedenen sub-domains auf cookies mit dem gleichen Namen in der gleichen Frequenzgang ändert sich das Verhalten. Ich habe gerade getestet das speichern von cookies mit dem gleichen Namen, aber unterschiedliche sub-domains auf den neuesten Versionen von java 1.6/firefox/safari/chrome auf meinem mac, und es verhielt sich wie erwartet, spart cookies. Ich verstehe dieses Verhalten nicht garantiert ist, durch die Skillung, aber just sayin' es kann hilfreich sein sich darüber bewusst zu sein.
InformationsquelleAutor johnkaplantech