簡體   English   中英

利用瀏覽器僅對某些CSS和JavaScript文件進行緩存

[英]Leverage browser caching for some css and javascript file only

有什么方法可以僅通過htaccess文件瀏覽器緩存某些CSS和javascript文件嗎? 我有三個CSS文件

http://www.example.com/css/main.css 
http://www.example.com/css/star_rating.css 
http://www.example.com/js/jquery.autocomplete.css 

“ main.css”可能每天都在變化。 我只想緩存star_rating.css和jquery.autocomplete.css,而不是main.css。 我該如何實現?

也有任何方法來緩存google adsense javascript文件。

https://www.gstatic.com/swiffy/v7.1/runtime.js 
http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js 
https://pagead2.googlesyndication.com/pagead/osd.js 

在您的HTTP響應中的.htaccess中設置一個緩存控制標頭,該答案已在此處得到解答: 如何將緩存控制代碼添加到htaccess?

您將需要一個后續規則來將main.css的緩存間隔減少到所需的任何長度。 但是,在繼續之前...

就我個人而言,我不會為如此復雜的粒度而煩惱,只需設置您的緩存時間,以便在典型的瀏覽會話中僅請求一次資源(24小時?)。 盡管某些瀏覽器緩存可能很大,但是不能保證繁忙的用戶下次訪問您的網站時仍然會緩存您的資源,但是如果他們填充了緩存,那么頻率較低/陳舊的項將被刪除。

對於長期緩存策略,我只需要檢查ETag支持在您的服務器上是否有效即可。 如果瀏覽器已經緩存了您的一項,它將請求“ If Not Modified”標頭並提供它為您的資源保存的ETag。

如果尚未修改資源(如果ETag值匹配),則服務器將以304(未修改)而不是200進行響應,這對於節省大量資源是一個很好的節省。

如果熱鏈接到Google AdSense JavaScript文件而不是自己托管它們,則不能影響響應標頭,但是無論如何,它們應該具有明智的緩存控制標頭(由Google設置)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM