Aggressive JavaScript caching

前端 未结 9 1048
北荒
北荒 2020-12-24 08:45

I\'ve run into a problem where I make changes to a few JavaScript files that are referenced in an HTML file, but the browser doesn\'t see the changes. It holds onto the copy

9条回答
  •  难免孤独
    2020-12-24 09:33

    With every release, we simply prepend a monotonically increasing integer to the root path of all our static assets, which forces the client to reload (we've seen the query string method break in IE6 before). For example:

    • Release 1: http://www.foo.com/1/js/foo.js
    • Release 2: http://www.foo.com/2/js/foo.js

    It requires rejiggering links with each release, but we've built functionality to automatically change the links into our deployment tools.

    Once you do this, you can use Expires/Cache-Control headers that let the client cache JS resources "forever", since the path changes with each release, which i think is what @JasonCohen was getting at.

提交回复
热议问题