Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question

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

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

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
add comment

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

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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