2013-10-14 52 views
3

有人可以澄清如何緩存的作品?或者它完全依賴於瀏覽器?如何在動態文件/ url的情況下緩存工作?

<script type="text/script" src="/controller/getfoo"> </script> 

是一種服務js文件的動態方式,其中請求被設置爲來自控制器的js文件。

<script type="text/script" src="/somewhere/foo.js"> </script> 

是這樣做的最正常的方式。 這兩種情況下的緩存工作如何?

在情況1下,它會一直髮送HTTP請求嗎?但是,僅在頁面加載期間。在情況2瀏覽器明白文件名被明確提及,它將檢查foo.js是否已經在本地可用,否則發送HTTP請求?

+1

我從瀏覽器的角度看不到兩者之間的區別。瀏覽器不會根據文件名做出決定。 – Barmar

+0

正如答案所說,我們有一個URL(可以是文件名或控制器名稱)瀏覽器向其發送HTTP請求。如果它發送正確的答覆,我們就很好。 HTML或PDF或CSS由服務器決定。這也意味着可以爲控制器名稱給出tinymce.css,它只是一個URL。有趣的。 – Nishant

+0

相關問題在這裏:http://stackoverflow.com/questions/13418835/caching-content-of-url – Nishant

回答

2

這取決於HTTP服務器的配置方式。更具體地說,在響應標題中,有一個設置此行爲的密鑰Cache-Control:。 如果您在getfoo操作響應中將其設置爲Cache-Control: no-cache,那麼第一個選項將在每次調用時返回「新鮮」數據。

+0

感謝您指向這裏的HTTP選項。將查找。 – Nishant

相關問題