Http-кэширование, как правило, не простая проблема.На самом деле это очень просто, если вы знаете, как это работает :) Добавление --prod к вам ng build сгенерирует файл index.html, который будет включать все статические ресурсы js, css с уникальным неопределением.Так что
style.css
станет
style.sdfsrregsfd32453455.css
К сожалению, это всего лишь часть истории, так как index.html может и будет кэшироваться браузером.И ты не можешь это изменить.Есть еще один механизм кэширования, который может помочь нам, он называется ETag ( E ntity T ag).
В основном сервер http, который обслуживает ваш веб-сайт,добавит в запрос index.tml GET заголовок, который будет идентифицировать этот ресурс.Браузер будет отправлять этот идентификатор при каждом запросе на выбор index.html.Сервер проанализирует его и, если index.html не изменился, отправит ответ без тела.С кодом 302 Not Modified
.
![examle of the etag flow](https://i.stack.imgur.com/nHtf5.png)
У меня есть более длинное сообщение в блоге на эту тему: https://medium.com/12-developer-labors/http-caching-with-hazelcast-and-other-trics-how-to-make-my-angular-app-load-faster-aeaa90562e94