希望在瀏覽器中儘可能緩存WordPress中的css/js文件(以加快載入速度)。但是,(至少Chrome)不會緩存,如果有明顯的查詢字符串。但將版本放在查詢字符串中是非常有用的,除此之外還有WordPress代碼和其他模塊(如tinymce中我沒有控制權(它們都使用版本查詢字符串))中的css文件。有沒有辦法仍然可以緩存文件?WordPress啓用css/js文件的瀏覽器緩存,同時保留查詢字符串
1
A
回答
2
有大量的文件可能會在源和用戶之間的高速緩存的地方。瀏覽器只是其中之一。
避免查詢字符串參數的建議是基於許多流行的緩存服務器,如果存在查詢字符串,則不會緩存。我們正在討論坐在您的Web服務器前面的服務器。 (有些像Cloudflare讓你選擇你如何處理查詢字符串)。
總體而言,如果您發送適當的標頭,瀏覽器仍會緩存具有查詢字符串的資源。
常見的方式來獲得兩全其美的是版本的實際名稱:
script-3.4.2.js
這給你的版本沒有查詢字符串,使你不可知的緩存技術。
Chrome並緩存
如果你是一個WordPress用戶,機會是你必須從加載腳本:
https://www.example.com/wp-includes/js/wp-embed.min.js?ver=4.8.2
與所有的腳本,你必須得到它的第一次加載。但它應該有某種形式的緩存控制頭。
:
cache-control:public, max-age=172800
content-encoding:gzip
content-type:text/javascript
date:Thu, 19 Oct 2017 18:26:18 GMT
etag:W/"576-543356dcbb9ba"
expires:Sat, 21 Oct 2017 18:26:18 GMT
last-modified:Fri, 09 Dec 2016 08:20:37 GMT
status:200
vary:Accept-Encoding
當您導航到引用該腳本的另一頁...它加載它從緩存中(即你不能通過加載直接在瀏覽器的行爲不同的文件來測試這一點)
如果您發現它不是緩存,請仔細檢查與該文件一起發送的標頭,因爲它們比查詢字符串更可能是問題。
相關問題
- 1. 使用查詢字符串方法清除瀏覽器緩存
- 2. 使用.htaccess文件在Wordpress中啓用瀏覽器緩存
- 3. 如何緩存XAP文件,同時改變查詢字符串
- 4. 瀏覽器緩存301如何重定向與查詢字符串
- 5. wordpress重寫查詢字符串,以刪除保留字
- 6. RouteUrl + RouteLink同時保留當前查詢字符串值
- 7. 在JSP中啓用瀏覽器緩存
- 8. 爲lighttpd/thin啓用瀏覽器緩存
- 9. 瀏覽器臨時緩存
- 10. 緩存文件瀏覽器中的
- 11. 更新網站。 IE瀏覽器保留舊的緩存
- 12. Web瀏覽器控件和查詢字符串WP7
- 13. 使用瀏覽器上的查詢字符串創建書籤
- 14. 加速Wordpress/Woocommerce - WP超級緩存 - 「利用瀏覽器緩存」
- 15. htaccess替換域,但保留文件和查詢字符串
- 16. 清除瀏覽器緩存後,swf文件保存在哪裏?
- 17. 在Firefox和Chrome瀏覽器中保留緩存 - Selenium WebDriver
- 18. 瀏覽器緩存JavaScript和CSS文件
- 19. 下載Firefox瀏覽器緩存文件
- 20. 緩存在瀏覽器,而.htacess文件
- 21. 瀏覽器緩存可下載文件
- 22. JS文件和瀏覽器緩存
- 23. 瀏覽器緩存CSS文件
- 24. 跨瀏覽器緩存腳本文件
- 25. PHP URL字符串,以避免瀏覽器緩存
- 26. .htaccess基於查詢字符串重定向,保留字符串
- 27. 文件通常保存在瀏覽器的緩存中多長時間
- 28. 查詢後SSAS緩存保留多久?
- 29. 在哈希代碼查詢字符串使用保留字符
- 30. 緩存html忽略查詢字符串
謝謝。由於某些文件不在我的控制範圍內,因此更改文件名對我來說不是一種選擇。即使查詢字符串存在,是否有辦法讓瀏覽器(至少Chrome)緩存?不使用任何託管服務,沒有CDN對中間的服務器不那麼擔心。 – srvy
啓動您的網絡選項卡並導航幾頁。我敢打賭,你會看到從Chrome緩存中加載的文件。 – Fenton
是的,但不是查詢字符串。對於那些沒有,我確實看到「從磁盤緩存」 – srvy