Css/js can be cached by browser, CDN or Varnish cache. If a new version css/js released, we want browser/CDN/Varnish request drupal to get new version.
Drupal will append a random string to css/jss url to work as cache buster.
[How to generate query string?]
This random string is stored in DB variable table by default, named as ‘css_js_query_string’. When common.inc drupal_flush_all_caches() is called, it will call _drupal_flush_css_js() then generate a random string with 6 characters.
We can also hard code the value in settings.php.
[How to use the query string?]
In common.inc drupal_pre_render_styles() function, it will call variable_get(‘css_js_query_string’,0) to get the value and append on each css.
how the drupal set css/js query string for cache buster
缓存破解与版本更新
本文探讨了如何通过在CSS/JS文件URL后附加随机字符串来破解浏览器、CDN或Varnish缓存,确保当发布新版本时,客户端能够获取到最新文件。介绍了随机字符串的生成方式及在Drupal中的实现细节。

被折叠的 条评论
为什么被折叠?



