Обычно существует 3 типа файлов -
- Cache Forever
- Кэш для некоторые время
- Never Cache
Некоторые файлы никогда не могут быть кэшированы и всегда будут попадать в область «никогда не кэшировать».Но наибольшая производительность достигается за счет систематического преобразования файлов из второго сегмента в файлы, которые можно кэшировать вечно.GWT позволяет легко делать это различными способами.
Файлы <md5>.cache.js
надежно кешируются вечно.Если они когда-либо изменятся, GWT переименует файл, и браузер будет вынужден загрузить его снова.
Файл .nocache.js
никогда не должен кэшироваться.Этот файл изменяется, даже если вы измените одну строку кода и перекомпилируете.Файл nocache.js содержит ссылки <md5>.cache.js
, поэтому важно, чтобы в браузере всегда была самая последняя версия этого файла.
В третьем сегменте содержатся изображения, CSS и любые другие статические ресурсы, которыечасть вашего приложения.CSS-файлы постоянно меняются, поэтому вы не можете сказать браузеру «кешировать навсегда».Но если вы используете ClientBundle / CssResource , GWT будет управлять файлом за вас.Каждый раз, когда вы меняете CSS, GWT будет переименовывать файл, и поэтому браузер будет вынужден загрузить его снова.Это позволяет вам устанавливать сильные заголовки кэша для достижения максимальной производительности.
В итоге -
- Для всего, что соответствует .cache. , установите удаленный входзаголовок -the-future истекает, фактически давая браузеру указание сохранять его в кэше навсегда.
- Для всего, что соответствует .nocache. , установите заголовки кэша, которые заставляют браузер повторно проверять ресурс с помощьюсервер.
- Для всего остального вы должны установить короткий заголовок expires в зависимости от того, как часто вы меняете ресурсы.
- Попробуйте использовать ClientBundle / CssResource;это автоматически переименовывает ваши ресурсы в * .cache bucket