Я пытаюсь настроить заголовки кэширования для указанного c stati c типа файла в Spring Boot. В каталоге src / main / resources / stati c есть несколько подкаталогов с разными типами файлов:
src/main/resources/static/font --> *.otf
src/main/resources/static/lib --> *.js
src/main/resources/static/images --> *.png, *.jpg
Есть ли способ поместить заголовки кэша по типу файла в конфигурацию Spring?
*.otf 365 days
*.png 30 days
*.jpg 7 days
Версия Spring - 5.2.3 и Spring Boot 2.2.4 - есть ли вероятность, что Spring Boot с ней справится и не даст работать?
Пробовал с
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
final CacheControl oneYearPublic = CacheControl.maxAge(365, TimeUnit.DAYS).cachePublic();
// it does not "work" with "/static/fonts/"
registry.addResourceHandler("/fonts/{filename:\\w+\\.otf}").setCacheControl(oneYearPublic);
}
но я получаю странные результаты. При проверке с помощью вкладки Сеть DevTools я получаю следующие заголовки:
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Но когда я go обращаюсь к URL-адресу напрямую, я получаю 404
http://localhost/fonts/1952RHEINMETALL.otf
Без какой-либо конфигурации я получаю " Заголовок Cache-Control "no-store".