Веб-службы RESTful - Кеширование
Кэширование относится к хранению ответа сервера в самом клиенте, так что клиенту не нужно снова и снова запрашивать сервер для одного и того же ресурса. Ответ сервера должен содержать информацию о том, как должно выполняться кэширование, чтобы клиент кэшировал ответ на определенный период времени или никогда не кэшировал ответ сервера.
Ниже приведены заголовки, которые может иметь ответ сервера для настройки кэширования клиента.
| Sr.No. | Заголовок и описание |
|---|---|
1 |
Date Дата и время создания ресурса. |
2 |
Last Modified Дата и время последнего изменения ресурса. |
3 |
Cache-Control Основной заголовок для управления кешированием. |
4 |
Expires Дата истечения срока действия и время кеширования. |
5 |
Age Продолжительность в секундах с момента получения ресурса с сервера. |
Заголовок Cache-Control
Ниже приведены подробности заголовка Cache-Control -
| Sr.No. | Директива и описание |
|---|---|
1 |
Public Указывает, что ресурс кэшируется любым компонентом. |
2 |
Private Указывает, что ресурс кэшируется только клиентом и сервером, ни один посредник не может кэшировать ресурс. |
3 |
no-cache/no-store Указывает, что ресурс не кэшируется. |
4 |
max-age Указывает, что кеширование действительно до максимального возраста в секундах. После этого клиент должен сделать еще один запрос. |
5 |
must-revalidate Индикация серверу для повторной проверки ресурса, если max-age прошел. |
Лучшие практики
Всегда сохраняйте статическое содержимое, такое как изображения, CSS, JavaScript, в кешируемом состоянии со сроком действия от 2 до 3 дней.
Никогда не устанавливайте слишком высокий срок годности.
Динамический контент следует кэшировать всего на несколько часов.