Можно ли очистить весь кеш сайта? Я хотел бы сделать это, когда пользователь выходит из системы или истекает срок сессии, вместо того, чтобы указывать браузеру не кэшировать каждый запрос.Очистить весь кеш веб-сайта?
ответ
Насколько я знаю, нет способа сообщить браузеру очистить все страницы, которые он кэшировал для вашего сайта. Единственный элемент управления, который вы, как автор сайта, подвергаете кешированию страницы, возникает, когда браузер пытается получить доступ к этой странице. Вы можете указать, что кешированные версии ваших страниц должны истечь в определенное время, используя заголовок Expires
, но даже тогда браузер не сможет очистить страницу из своего кеша в это время.
Я, конечно, надеюсь, что это не даст сайту разрушительные полномочия над клиентской машиной!
Что-то вроде window.navigator.removeCache() не похоже, что это было бы слишком разрушительно, если бы он мог очищать только кешированные объекты для этой страницы (и технически даже не нужно было ничего удалять с жесткого диска.) Худший случайный сценарий приводит к тому, что пользователь ждет еще несколько секунд для нового контента. Но ценность во избежание проблем с кешированием во время обновления продукта для контента, который вы обычно хотите кэшировать, стоит того риска. –
@Marcus: @Thomas: очистка кеша для ваших собственных страниц - совершенно другой вопрос. Разумный. –
Если говорить об объектах кэша asp.net, вы можете использовать это:
For Each elem As DictionaryEntry In Cache
Cache.Remove(elem.Key)
Next
для удаления элементов из кэша, но это не может быть полной степени, что вы пытаетесь достичь ,
Если безопасность ваша главная забота здесь, почему бы не использовать HTTPS? Браузеры не кэшируют содержимое, полученное через HTTPS (или кэшируют его только в памяти).
Не уверен в этом: см. Этот вопрос: http://stackoverflow.com/questions/174348/will-web-browsers-cache-content-over-https – VBNight
Да, я согласен, что это зависит от настроек браузера. Настройки по умолчанию в IE и Firefox запрещают кэширование содержимого HTTPS на диске. –
Один сложный способ имитировать это будет включать идентификатор сеанса в качестве параметра при ссылке на любую статическую часть контента на сайте. Когда пользователь устанавливает сеанс, браузер распознает все фрагменты контента как новые из-за включения этого параметра. В течение сеанса браузер будет использовать статический контент в своем кеше. После того, как пользователь выйдет из системы и снова войдет в систему, параметр session-id для статического содержимого будет отличаться, поэтому браузер распознает это как совершенно новый контент и снова загрузит все.
Это, как говорится, это взлом, и я бы не рекомендовал его преследовать .. По какой причине вы хотите, чтобы кэш пользователя был очищен после истечения срока их сеанса? Вероятно, это лучшее решение, которое может соответствовать вашей ситуации, в отличие от того, что вы сейчас просите.
- 1. Laravel: очистить только весь кеш базы данных или очистить весь кеш с исключением
- 2. Очистить весь кеш в ионном приложении
- 3. Очистить весь кеш-лак от python
- 4. Очистить весь кеш в Laravel 4
- 5. Как очистить кеш-кеш OpenX?
- 6. rails rack cache - как вручную очистить весь кеш
- 7. Как очистить весь кеш в браузере с помощью ASP.net (C#)
- 8. Очистить локальный кеш git
- 9. Очистить кеш Пикассо
- 10. Как очистить кеш UIWebView?
- 11. Очистить кеш в SqlDataSource
- 12. как очистить кеш EGOImageView.?
- 13. Как очистить кеш браузера?
- 14. Очистить кеш поля формы
- 15. Очистить кеш firefox быстрее
- 16. Очистить кеш на странице
- 17. Angulejs очистить кеш браузера
- 18. Как очистить кеш tomcat?
- 19. Как очистить кеш www?
- 20. Как очистить Flash-кеш?
- 21. Как очистить кеш MKMapView?
- 22. Очистить кеш в FRAMESET
- 23. Очистить кеш отражения sqlalchemy
- 24. Как очистить кеш memoize?
- 25. Очистить кеш iframe
- 26. Как очистить кеш StructureMap?
- 27. CloudFront: Как очистить кеш
- 28. Очистить кеш PivotItem
- 29. Очистить кеш библиотеки UIL
- 30. WatiN очистить кеш браузера
Я понял, что это так, но надеялся, что может быть способ очистить все это сразу. Спасибо за подтверждение. –