I recently discovered this new feature in Chrome:
I can figure out the difference between option 1 and option 3, and that option 2 is probably something in between, but I can't find any more precise information anywhere.
Anybody know the precise behavior of each of the 3 options?
This also works in Mac OS X. Open developer tools, and then, on the reload button, either 1. secondary click (right click for right-handed mouse), or 2. long click, aka long press to see the menu.
In addition to this answer, hard reload often causes proxies, content delivery networks and other remote caches to be refreshed.
Normal reload
The same thing as pressing F5. This will use the cache but revalidate everything during page load, looking for "304 Not Modified" responses. If the browser can avoid re-downloading cached JavaScript files, images, text files, etc. then it will.
Hard reload
Don't use anything in the cache when making the request. (which is equals to SHIFT+F5 No need to open Developer console) Force the browser do re-download every JavaScript file, image, text file, etc.
Empty Cache and Hard Reload
Obviously, if the cache is empty then it will have to do a hard reload. This will again force the browser to re-download everything. However, if the page makes any after-the-fact downloads via JavaScript that weren't part of page load, then these might still use the cache, which is where emptying the cache helps because it makes sure that even these won't use cached files.
Note: This feature is only available when the developer tools are open.