/ / Armazenamento em cache baseado em navegador para recursos remotos - javascript, descanso, armazenamento em cache, navegador

Armazenamento em cache baseado em navegador para recursos remotos - javascript, descanso, armazenamento em cache, navegador

Eu tenho dois recursos REST-ful em meu servidor:

/someEntry/{id}
Response:
{
someInfoAboutEntry: ...,
entryTypeUrl: "/entryType/12345"
}

e

/entryType/{id}
Response:
{
someInfoAboutEntryType: ...
}

o entryTypeUrl é usado para buscar dados adicionais sobre o tipodesta entrada a partir do URL diferente. Ele será vinculado a algum botão "Informações detalhadas" próximo a cada entrada. Pode haver muitas (digamos 100) entradas, enquanto existem apenas 5 tipos (então a maioria das entradas aponta para o mesmo entryTypeUrl.

Eu estou construindo um cliente Javascript para acessar esses recursos. Devo fazer cache entryType resultados no meu código Javascript, ou devo confiar no navegador para armazenar em cache os dados para mim e despachar solicitações XHR sempre que o usuário clicar no botão "Informações detalhadas"?

Tanto quanto eu vejo, ambas as abordagens devem funcionarbem. O segundo (sempre despachando pedidos) resultará em um código mais claro. Devo ficar com ele, ou há alguns pontos que eu não conheço?

Desde já, obrigado.

Respostas:

1 para resposta № 1

Eu definitivamente deixaria o navegador gerenciar o cache, em vez de escrever uma camada de cache personalizada por conta própria.

Desta forma você tem menos código para escrever emanter, e você permite que o servidor ditar (através de seus cabeçalhos HTTP) se a resposta deve ser armazenada em cache ou não. Se você escrever seu próprio código de cache, removerá a capacidade de recuperar dados antigos - que você obteria gratuitamente do navegador.