Как долго браузеры хранят загруженные ресурсы в одном сеансе - PullRequest
0 голосов
/ 07 сентября 2018

Я хочу предварительно загрузить данные с сервера, чтобы они сразу были доступны при вызове. Данные хранятся в файле с именем «data.json».

Сначала я подумал сохранить data.json для объекта и ссылаться на него, когда мне это нужно.

Однако, в зависимости от действий пользователя, может потребоваться некоторое время, прежде чем мне понадобятся данные, хранящиеся в этом объекте. Таким образом, управление памятью становится проблемой, поскольку объект очень большой (~ 5 МБ).

Мой вопрос заключается в том, что, когда я вызываю data.json через ajax, браузер внутренне «кэширует» этот файл на время сеанса веб-сайта.

То есть, если я снова вызвал файл через ajax после того, как уже вызвал его, браузер мгновенно получит файл из собственной внутренней памяти вместо того, чтобы вернуться на сервер?

Если так, то кажется, что было бы расточительно сохранять дополнительную копию этого файла в JavaScript. Тем не менее, я не могу найти информацию / стандарты об этом в Интернете.

Короче говоря, нужно ли сохранять загруженный файл на объекте? Или это безопасно, чтобы браузеры обрабатывали это внутренне?

1 Ответ

0 голосов
/ 07 сентября 2018

В игре есть несколько различных типов «кэша». Звучит так, будто вы спрашиваете: «Как долго движок JavaScript браузера удерживает объект в памяти», а ответ - «Пока есть ссылка на него».

С другой стороны, кеш браузера (HTTP) живет дольше; запись может жить несколько дней, недель или лет, в зависимости от доступного пространства, заголовков свежести ответа и т. д.

Для описанного вами сценария вы, вероятно, захотите предварительно извлечь JSON в файл локального кэша, а затем загрузить этот файл кэша в JavaScript только при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...