希望在浏览器中尽可能缓存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