Я хочу правильно установить заголовки Cache-Control и ETag в моих ответах.Для этого я отключил кэширование запросов через конфигурацию безопасности Spring:
httpSecurity.headers().cacheControl().disable();
Затем при возврате ответа:
ResponseEntity.ok()
.header("Cache-Control", "max-age=60")
.header("ETag", "my-tag")
.build()
Кажется, что работает в том смысле, что по умолчанию кэш безопасности SpringЗаголовки -control не возвращаются (по умолчанию я думаю, что они возвращают «no-cache, no-store, max-age = 0, must-revalidate»), и мои заголовки присутствуют в ответе.Однако есть и кое-что еще:
Cache-Control: private
Expires: Thu, 01 Jan 1970 00:00:00 GMT
ETag: "0.42.1-20181213080300000"
Cache-Control: max-age=60
...other headers
Нижние заголовки кэша мои, но верхние - нежелательны.Похоже, они происходят из org.apache.catalina.authenticator.AuthenticatorBase
, который, кажется, является частью используемого встроенного Tomcat.Мне не удалось найти способ доступа и изменения конфигурации этого конкретного класса.
Пожалуйста, посоветуйте, как избавиться от нежелательных заголовков.
Я на Spring boot 1.5.18.RELEASE