up vote 2 down vote favorite
1
share [g+] share [fb]

I understand that Ctrl + Refresh fetches fresh content from browser without reading the cache. Then what is Ctrl + Shift + Refresh for?

Ctrl + Refresh request header are like this:

Cache-Control : max-age=0

for Ctrl + Shift + Refresh

Pragma : no-cache <br>
Cache-Control : no-cache

What is the real difference?

link|improve this question
4  
What browser are you using? Ctrl+Shift+F5 does nothing in both Firefox 3.5 or IE 6. – mlevit Aug 3 '09 at 4:20
2  
I always thought CTRL+SHIFT+REFRESH was a gimmick programmers told their clients... – user2980 Aug 3 '09 at 4:45
@user2980 well you're wrong :) – romkyns Sep 8 '11 at 20:00
feedback

migrated from stackoverflow.com Aug 3 '09 at 6:00

This question came from our site for professional and enthusiast programmers.

2 Answers

up vote 3 down vote accepted

Both are identical to the browser on the local machine. The headers you mentioned are the only difference.

The Ctrl+Refresh header means that any caching servers along the way should return a fresh copy of the page.

The Ctrl+Shift+Refresh headers mean that any caching servers along the way should return a fresh copy of the page, and should also not cache the page for any future requests. In other words, the next time the page is requested, it should either use a previous cache of the page or request a fresh copy, but should not use this one.

Pragma: no-cache is the HTTP 1.0 version of Cache-Control: no-cache. There is no HTTP 1.0 equivalent to Cache-Control: max-age=0.

RFC2616 section 14 subsection 9 has relevant information: w3c.org: RFC2616 sec 14.9.1

link|improve this answer
feedback

There is another difference, and a big one at that.

When you hit Ctrl+Refresh, for every cached object that has a Last-Modified or ETag header, the browser will issue a request with an If-Modified-Since or If-None-Match header. The server may then choose to respond with a 304 Not Modified, without re-sending any data (assuming the data is, in fact, not modified).

When you hit Ctrl+Shift+Refresh, the browser won't issue such conditional If-* headers, leaving the server no option but to send the data again.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.