Compliant browser (like all major browsers Chrome, FF, IE, Safari) will respect cache control headers and not cache page when instructed so.
Turning off caching should be done by sending following header with response:
Cache-Control : no-cache
Since pages cached by url you can effectively remove page from cache by sending new version with appropriate headers (assuming browser actually requests one).
Caveats:
- intermediate servers (proxy, CDN) may have different rules, also again compliant proxies will not cache pages marked with "private", "no-cache" or "no-store" cache control header.
- if older version of the page did not specify cache control header that prevents caching then request to the same page may not reach server as it can be served from local browser cache or proxy/CDN cache.
Note that some browsers (very old versions of most browsers and still active versions of IE) may also look at <meta>
tags (like <meta http-equiv="cache-control" content="no-cache" />
) to not cache the page but this behavior is not defined in the specification and should not be relied upon. More links/discussion in this question: Using <meta> tags to turn off caching in all browsers?.