Consider the following cookies; they are being set in the application.cfc:
#1 <!--- persistent cookie; will expire in 30 years from the exact time it is created.---> <cfcookie name="person.fname" value="Mark" expires="never"> #2<!--- expires immediately. Is never written to client cookie.txt file but stays in memory. ---> <cfcookie name="person.mname" value="Alan" expires="now"> #3<!--- will expire 7 days from the exact time it is created.---> <cfcookie name="person.lname" value="Riggs" expires="7"> #4<!--- No expiration attribute. Session only cookie. Will expire on browser close. ---> <cfcookie name="person.nname" value="Sparky">
In Firefox (Tools -> Options -> Privacy -> Show Cookies):
#1 This cookie is stored on my computer and expires in 30 years (Year 2041).
#2 This cookie is not stored on my computer. I imagine because it is set to expire immediately.
#3 This cookie is stored on my computer and expires in 7 days (Feb 10, 2011)
#4 This cookie is stored on my computer and expires at end of session
In IE8 (Tools -> Internet Options -> Browsing History -> Settings -> View Files):
I get a single cookie that looks like this:
PERSON.FNAME Mark issrsdev.xxxxx.xxxx.xxx/ 1024 3852832896 32333899 3200059040 30131135 * PERSON.LNAME Riggs issrsdev.xxxxx.xxxx.xxx/ 1024 3879686272 30132543 3200059040 30131135 *
I'm going to refer to this as a bundled cookie.
#1 This name/value pair is present in the bundled cookie.
#2 This name/value pair is not present in the bundled cookie.
#3 This name/value pair is present in the bundled cookie.
#4 This name/value pair is not present in the bundled cookie.
That's what it looks like to me: a single cookie with all the name/value pairs of all the cookies I created in the application.cfc.
The expiration date on this bundled cookie is 1/26/2041. As you can see above the expiration attribute value for #1 is "never" and the expiration attribute value for #3 is 7 days.
I then set #1 to expire in 4 days and #3 to expire in 7 days, and the cookie then reflects an expiration date 7 days from the time it is created.
So it looks like the cookie is taking the longest expiration date it can find out of the individual cookies and using that for the overall cookie expiration date.
So how do I deal with creating two cookies with drastically different expiration dates, and getting them to behave in IE8?
Thanks for any thoughts or comments on this one!