0

Я недавно нашел, что мы используем Cache-Control:no-cache во всех ответах WebApi. Я знаю, что до того, как кеширование браузеров сильно изменилось, и вы никогда не знали, может ли браузер кэшировать вас json, так что это было важно.У современных браузеров кешируют ответы ajax?

Насколько я помню сейчас, ни один современный браузер не кэширует ответы ajax, поэтому этот заголовок не нужен. Но я бы очень хотел дважды проверить и спросить здесь о поведении, поскольку не смог найти последние сообщения по этой теме.

Итак, вопрос в том: Нужно ли нам установить Cache-Control:no-cache для веб-ави вызовов из приложения SPA, и если да, то какие браузеры делают кэширование?

+0

Возможный дубликат [Может ли браузер использовать кеш из предыдущих вызовов ajax?] (Http://stackoverflow.com/questions/1230998/cant-the-browser-just-use-its-cache-from -prior-ajax-calls) –

+1

Я не думаю, что это дубликат, так как другой вопрос на самом деле составляет 8 лет, и с тех пор многое изменилось, поэтому я включил «современный» в заголовок. Я прочитал это до публикации здесь. –

ответ

2

Согласно HTTP/1.1 specification браузер HTTP-кеш-ключ представляет собой комбинацию HTTP-метода запроса и URI. Браузер не принимает во внимание, как была сделана просьба:

Основной ключ кеша состоит из метода запроса и целевого URI. Тем не менее, поскольку HTTP-кэши в общем использовании сегодня, как правило, ограничены кешированием ответов GET, многие кеши просто уменьшают другие методы и используют только URI в качестве основного ключа кеша.

Так что если запросы, которые вы выполняете, являются кэшем, вам все равно нужно это значение заголовка. Проверьте HTTP Caching MDN page и Which webbrowsers use http/1.1 by default? question для более подробной информации.

Также вам может потребоваться добавить другие заголовки для IE. Проверьте Make IE to cache resources but always revalidate вопрос для получения дополнительной информации.

 Смежные вопросы

  • Нет связанных вопросов^_^