希望在瀏覽器中儘可能緩存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. 瀏覽器同步CSS文件緩存?
- 5. wordpress重寫查詢字符串,以刪除保留字
- 6. 瀏覽器緩存301如何重定向與查詢字符串
- 7. 在JSP中啓用瀏覽器緩存
- 8. 緩存文件瀏覽器中的
- 9. Web瀏覽器控件和查詢字符串WP7
- 10. 使用瀏覽器上的查詢字符串創建書籤
- 11. htaccess替換域,但保留文件和查詢字符串
- 12. 清除瀏覽器緩存後,swf文件保存在哪裏?
- 13. 瀏覽器緩存JavaScript和CSS文件
- 14. 瀏覽器緩存CSS文件
- 15. 緩存在瀏覽器,而.htacess文件
- 16. 在哈希代碼查詢字符串使用保留字符
- 17. 文件通常保存在瀏覽器的緩存中多長時間
- 18. 緩存html忽略查詢字符串
- 19. 利用瀏覽器緩存
- 20. 禁用瀏覽器緩存
- 21. 如何確保CSS/JS文件不在瀏覽器上緩存?
- 22. 檢查瀏覽器的緩存是否爲js文件
- 23. .htaccess在保留查詢字符串的同時重定向添加哈希
- 24. 避免在瀏覽器的臨時文件的URL緩存
- 25. ASP.Net SessionID保留,同時打開新的瀏覽器
- 26. 如何在使用RegisterClientScriptInclude時保留URL的查詢字符串中的&符號?
- 27. IE瀏覽器 - 某些查詢字符串掛起頁面
- 28. $ router.replace()不更新瀏覽器查詢字符串
- 29. 從瀏覽器鏈接獲取查詢字符串
- 30. WordPress的緩存SQL查詢
謝謝。由於某些文件不在我的控制範圍內,因此更改文件名對我來說不是一種選擇。即使查詢字符串存在,是否有辦法讓瀏覽器(至少Chrome)緩存?不使用任何託管服務,沒有CDN對中間的服務器不那麼擔心。 – srvy
啓動您的網絡選項卡並導航幾頁。我敢打賭,你會看到從Chrome緩存中加載的文件。 – Fenton
是的,但不是查詢字符串。對於那些沒有,我確實看到「從磁盤緩存」 – srvy