2010-11-05 58 views

回答

9

有一個區別,至少在IE中。 F5重新發出請求,但不會使緩存無效。 Ctrl + F5使緩存無效,然後重新發出請求。

我懷疑其他瀏覽器也這樣做。

+0

有些瀏覽器不會。歌劇例如將重新加載Ctrl + F5上的所有標籤(至少,它是我最後一次使用它) – Phil 2010-11-05 04:11:11

+4

Google Chrome和Firefox與IE一樣。 – 2010-11-05 04:16:11

+3

超載事實上的標準動作具有不同的含義是Opera從未成功的原因之一。鑑於IE在某些時候已經擁有了95%以上的瀏覽器市場,因此期望大多數用戶已經接受過在Ctrl-F5上預期某些行爲的培訓是合理的,並且改變它可以讓用戶知道某事在使用Opera時不完全正確。 – 2010-11-05 04:17:36

0

基本上,當您按F5服務器的響應將是200或304(如果您的瀏覽器包含文件的緩存副本)。當你按Ctrl + F5你將只獲得200s,一304將不會被髮送。

2

因爲您沒有使用緩存代理,所以您看不到任何不同。在IE /谷歌瀏覽器下,按Ctrl + F5不會發送If-Modified-Since標題。

只是F5

GET http://www.w3.org/ HTTP/1.1 
Accept: */* 
Accept-Language: zh-HK,zh-tw;q=0.8,en-US;q=0.5,en;q=0.3 
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; .NET4.0E) 
Accept-Encoding: gzip, deflate 
Host: www.w3.org 
Connection: Keep-Alive 
Pragma: no-cache 

服務器應答200 Success

隨着按Ctrl + F5

GET http://www.w3.org/ HTTP/1.1 
Accept: */* 
Accept-Language: zh-HK,zh-tw;q=0.8,en-US;q=0.5,en;q=0.3 
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; .NET4.0E) 
Accept-Encoding: gzip, deflate 
If-Modified-Since: Thu, 04 Nov 2010 13:10:24 GMT; length=27844 
Host: www.w3.org 
Connection: Keep-Alive 
Pragma: no-cache

服務器應答304 Not Modified

注意,IE瀏覽器在大多數情況下籤發Pragma: no-cache,只有If-Modified-Since頭是不同

0

我覺得 + F5是強制刷新X的瀏覽器,但現在瀏覽器往往緩存越來越多隻是爲了證明自己是市場上最快的。這可能是Web開發中的一個問題,對於FF我使用的webdevelopement插件允許您禁用所有形式的緩存。我無法向您推薦如何在其他瀏覽器中禁用所有緩存。

相關問題