Насколько я понимаю кеширование происходит при отправке ajax запроса. Поэтому нужно указывать то, что запрос не нужно кешировать именно в ajax запрос. К примеру в axios это происходит примерно так:
axios.get(
'https://YOUR-URL.com',
{
// query URL without using browser cache
headers: {
'Cache-Control': 'no-cache',
'Pragma': 'no-cache',
'Expires': '0',
},
}
)
Кеширование работает с обеих сторон. На сервере мы просто указываем, что вот эти страницы/файлы мы предлагаем кешировать на такое-то время. Возможно вашим Api будут пользоваться не только ваш Frontend, но и другие сайты и даже сервера. Поэтому ваш сервер дает рекомендации всем клиентам что и как стоит кешировать. Но конечно же итоговое решение принимать вашему браузеру