What is the difference between CTRL+F5 and F5 refresh?

The difference between F5 and CTRL+F5 refresh includes the following three aspects:

First, the refresh principle is different.

The request header of an HTTP request triggered by F5 usually contains If-Modified-Since or If-None-Match fields, or both;

The request header of the HTTP request triggered by CTRL+F5 does not have the above two headers, but it has a Pragma: no-cache or Cache-Control: no-cache field, or both.

Second, the server returns different.

F5 refresh server returns 304 unmodified; ;

Ctrl+F5 refresh returns HTTP status code 200, because when Ctrl+F5 sends a request, it will add Cache-Control:no-cache and Pragma:no-cache parameters in the request header.

Third, the refresh results are different.

The F5 refresh button only refreshes the current page and the local cache;

Ctrl+F5 will also refresh the page, but it will delete the files in the temporary folder in the browser and download them from the server again.

For example, if a website updates the style.css file, if you just press F5 to refresh it, the current page will still use the unmodified content of the style.css file. If you press Ctrl+F5, the style.css file will be downloaded from the server again and the modified style.css file will be used.