Browser checks if modified(result=304) when not needed
I am trying to prevent If-modified request from client to server but I am failing. I think that I am missing something so I am attaching the HTTP communication of the two requests. I would expect that the second request will not be issued:
GET XXXXX/js/Is.js HTTP/1.1
Accept: */*
Referer: http://XXXXX/XXXXX/
Accept-La开发者_JAVA技巧nguage: he
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Hewlett-Packard; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Host: xxxxxxxx:8080
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=XXXXXX
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: public,max-age=860000
Expires: Sun, 3 Jan 2010 00:00:00 GMT
ETAG: W/"1634-1260925588406"
Last-Modified: Wed, 16 Dec 2009 01:06:28 GMT
Content-Encoding: gzip
Content-Type: text/javascript
Content-Length: 412
Date: Sun, 27 Dec 2009 07:25:52 GMT
GET /XXXXXXXX/Is.js HTTP/1.1
Accept: */*
Referer: http://XXXXXXXXX/XXXXXXX/servlet/Main
Accept-Language: he
UA-CPU: x86
Accept-Encoding: gzip, deflate
If-Modified-Since: Wed, 16 Dec 2009 01:06:28 GMT
If-None-Match: W/"1634-1260925588406"
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Hewlett-Packard; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Host: xxxxxx:8080
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=XXXXXX;
HTTP/1.1 304 Not Modified
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: public,max-age=860000
Expires: Sun, 3 Jan 2010 00:00:00 GMT
ETAG: W/"1634-1260925588406"
Date: Sun, 27 Dec 2009 07:34:33 GMT
The Pragma: no-cache
in the second request indicates that it happened as a result of a page refresh. A 304 is a correct response in that case. If you want to force a re-read, then you should use control-refresh.
You're sending Pragma: No-cache
in your first response. That prevents Firefox from caching.
I think that I have found the problem.... I knew that I was missing something The first document loaded is doing redirect with :
<meta HTTP-EQUIV="Refresh" CONTENT="1; URL=/XXXXX">
Thanks for all your help ....
精彩评论