This is what fiddler shows as the headers of a first request:
GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/msword, application/ag-plugin, */*
Accept-Language: de
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.20404)
Host: www_christltimon_de.nexus.home
Proxy-Connection: Keep-Alive
The server answers with
HTTP/1.1 302 Found
Date: Sat, 19 May 2007 19:18:37 GMT
Server: Apache/2.2.4 (Win32) PHP/5.2.2
X-Powered-By: PHP/5.2.2
Set-Cookie: www_christltimon_de-SID=m1q3sprh1th43o9vs3eoaor095; expires=Mon, 18 Jan 2038 15:34:07 GMT; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: permalink.php p=start
Content-Length: 0
Content-Type: text/html
As you can see there is a Location: header, this is because a request for / is answered by a redirection to my permalink helper script, which then chooses an appropriate start page to display at that time. You can also see the Set-Cookie: header. The headers of the next request are:
GET /permalink.php p=start HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/msword, application/ag-plugin, */*
Accept-Language: de
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.20404)
Host: www_christltimon_de.nexus.home
Proxy-Connection: Keep-Alive
No signs of any Cookie: header here. The temporary internet files folder also shows no stored cookie. IE7 is set to accept each and every cookie, yet it doesn't.
For comparison, this is what Opera sends as first request:
GET / HTTP/1.0
User-Agent: Opera/9.20 (Windows NT 5.1; U; en)
Host: www_christltimon_de.nexus.home
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: de-DE,de;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Pragma: no-cache
Cache-Control: no-cache
Proxy-Connection: close
Again the server answers with:
HTTP/1.1 302 Found
Date: Sat, 19 May 2007 19:35:25 GMT
Server: Apache/2.2.4 (Win32) PHP/5.2.2
X-Powered-By: PHP/5.2.2
Set-Cookie: www_christltimon_de-SID=808535hm6rminftfrqc3k8ff44; expires=Mon, 18 Jan 2038 15:34:07 GMT; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: permalink.php p=start
Content-Length: 0
Connection: close
Content-Type: text/html
and Opera proceeds with:
GET /permalink.php p=start HTTP/1.0
User-Agent: Opera/9.20 (Windows NT 5.1; U; en)
Host: www_christltimon_de.nexus.home
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: de-DE,de;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cookie: www_christltimon_de-SID=808535hm6rminftfrqc3k8ff44
Cookie2: $Version=1
Pragma: no-cache
Cache-Control: no-cache
Proxy-Connection: close
Here a Cookie: header is sent, as I would expect. The same applies to Firefox. I really don't understand why this doesn't work in IE7. It used to work in IE6, since the session-related functions in my code are pretty much unchanged since 2004 or so.
I hope someone can help me out on this one.