2013-10-31 32 views
1

我試圖調試我.htaccess文件,其中包含:服務器響應狀態= 304一個瀏覽器的GET請求,另一個與200

<FilesMatch "\.(html|swf)$"> 
    <IfModule mod_headers.c> 
     Header set Cache-Control "no-cache, public" 
    </IfModule> 
</FilesMatch> 

<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault "access plus 1 month" 
    ExpiresByType text/html      "access plus 0 seconds" 
    ExpiresByType application/x-shockwave-flash "access plus 1 month" 
</IfModule> 

在重複訪問相同的網頁我在Safari中看到:

名稱= Wrapper.html,方法= GET,狀態= 200(OK),類型= text/html的

名稱= App.html,方法= GET,狀態= 200(OK),類型= application/x-shockwave-flash

和鉻:

名稱= Wrapper.html,方法= GET,狀態= 304(未改性的),類型= text/html的

名稱= App.html,方法= GET,狀態= 304(未改性的),類型=應用程序/ x-衝擊波閃光

的問題是從服務器下載的Safari時應該從高速緩存中檢索,而鉻正確地從高速緩存中檢索。

那麼,如何從服務器獲得Status=304到Safari(如Chrome所示)? (我猜這是根本原因,讓我知道如果不)

UPDATE

我只是檢查緩存文件,似乎Safari瀏覽器沒有把下載的文件到緩存擺在首位,因爲它可以從未來的訪問中吸取。不知道爲什麼。

+1

謝謝Serguei – ggkmath

+0

哈哈,沒問題! :) –

回答

1

這與服務器和htaccess文件沒有任何關係。 Safari發送的請求需要一個If-Modified-Since標頭,否則如果Last-Modified時間位於請求中的時間之前,apache將不會響應304。

我不知道爲什麼Safari不發送標題,或者它只是在某些時候發生,或者與某些瀏覽器設置有關。但是you're not the only one that this is happening to

+0

http://writing.amanjeev.com/2011/02/safari-4x-and-its-caching-woes.html Safari 4正在成爲一名勢不可擋的人。它根本不發送該頭文件。它發送的所有內容都是Pragma:no-cache。這不是非常有用。「添加但確定這是多麼相關。 – ggkmath

+0

@ggkmath是第一篇與Apache有關的文章嗎?我幾乎100%肯定Apache會以標準格式返回所有日期。 –

+0

是的,我的貼子使用Apache。我在這裏抓,它可能完全不相關。 – ggkmath

相關問題