java - 来自 Java webapp 的版本控制资源文件

标签 java html css caching browser

我的个人申请有问题。

每次我上传一个新版本的It,我的用户都会遇到css、js和图片资源的问题。

我想在每个新版本(该元素包括 maven)中更改这些资源的 URL 但仍然缓存信息以获得页面加载时间。

但是我不知道是否可以更改调用的URL并且不更改应用程序中资源的路径。是否存在任何解决方案,例如过滤器或 url 重写器? (如 /{version}/res/css/style.css)我找不到任何关于它的信息...

最佳答案

您可以在静态资源请求中添加查询参数 ?v={version}。

RFC 3986指出

The query component contains non-hierarchical data that, along with data in the path component, serves to identify a resource within the scope of the URI's scheme and naming authority

因此在缓存时应考虑该参数。

大多数浏览器都会缓存它。也许有些代理服务器不会,现在大多数都会。它不会发生的假设是基于 8 年前的调查结果,请参阅 Steve Sounders's blog

您可以修改文件名本身或路径。那是其他的选择。

关于java - 来自 Java webapp 的版本控制资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41982127/

相关文章:

java - 在 hibernate 搜索中,索引时的整数值似乎存储为字符

java - Java 中的 String.contains

html - 如何在不将其设置为背景的情况下将图像垂直和水平居中?

javascript - 在 html 中突出显示下拉表单选项的当前选定选项

javascript - 当我升级到 1.11 时,Jquery Animate 表现异常

html - 如何使导航栏元素变暗,但悬停列表项除外

html - CSS 无序列表,应用链接到背景图片

java - 有没有办法获取 ClassLoader 加载了哪些类?

java - 如何检测一个元素是否是数组中的最后一个元素?

html - 无法通过 CSS 或 HTML 更改表格列宽