Как проверить файл javascript в кеше пользователя. Если он обновил страницу или посетил сайт после некоторого времени. Мне не нужно снова загружать этот файл js. Удаляет ли файлы js после закрытия сайта.Проверка кеша браузера для файла js
ответ
Независимо от того, загружен ли файл javascript, зависит от того, как настроен ваш веб-сервер, как настроен пользовательский браузер, а также как настроены любые прокси-серверы HTTP между вашим сервером и пользователем. Единственный бит, который вы можете контролировать, - это настройка вашего сервера.
Если вы хотите, чтобы ваш javascript был кэширован, вам необходимо отправить правильные HTTP-заголовки с файлом javascript. Именно то, как вы это делаете, зависит от того, какой веб-сервер вы используете.
Вот несколько ссылок, которые могут помочь:
Apache - http://httpd.apache.org/docs/2.0/mod/mod_expires.html
Браузер будет автоматически искать после того, что он имеет в своем собственном кэше. Однако для управления им можно использовать различные механизмы.
Посмотрите на различные кэширования HTTP заголовки, такие как:
- Last-Modified
- Истекает
- ETag
заголовок Expires является наиболее важным из них, когда речь идет о к кешированию на стороне клиента. Если вы установите более длинный заголовок Expires (например, 10 лет), браузер не будет (теоретически) не смотреть на сервер снова для этого файла. Конечно, вам понадобится метод изменения имени файла при изменении содержимого файла. Большинство людей управляют этим, добавляя номер сборки в путь к файлу.
Браузер позаботится о кэшировании для вас.
Когда кеш опустел, частично зависит от настроек браузера и частично от отправляемых вами заголовков. Если вы установите заголовок Expires
, браузер не должен повторно запрашивать файл до истечения срока его действия. Чтение около HTTP Headers может вам помочь.
- 1. Проверка файла кеша Nginx
- 2. Очистка кеша от браузера
- 3. IIS - настройка заголовка кеша-кеша для каждого типа файла
- 4. Почему js-файл не выбран из локального кеша браузера?
- 5. Silverlight: StreamReader работает медленно для кеша браузера
- 6. Использование JavaScript для аннулирования кеша браузера
- 7. Загрузить файл кеша браузера Firefox
- 8. Кордоба/Размер кеша браузера PhoneGap
- 9. Очистка кеша браузера после удаления файла на сервере
- 10. Сброс кеша браузера при восстановлении
- 11. Получение файлов из кеша браузера
- 12. Проверка браузера в ExtJS5
- 13. Проверка подлинности кеша для Google Webfonts
- 14. Каковы различные размеры кеша данных браузера?
- 15. Проверка целостности браузера - NGINX
- 16. Возможно ли использовать WebClient для извлечения файла из кеша браузера без проверки более новой версии файла?
- 17. C# контроль кеша для .jpg, .css, .js ...
- 18. Сохранение кеша браузера при использовании Varnish
- 19. .htaccess: Как указать «Проверка валидатора кеша»?
- 20. Очистка кеша браузера, не решающего проблему сайта
- 21. Угловое js - время кеша $ http?
- 22. Проверка нокаута требует неизвестного файла нокаута js
- 23. Carrierwave два файла кеша
- 24. Избегайте загрузки кеша браузера, если обновление сайта
- 25. управление ветром кеша папки браузера json
- 26. Обнаружение кеша браузера с помощью jQuery
- 27. Кордова Просмотр кеша веб-браузера в андроиде
- 28. Очистка/отключение кеша браузера ASP.NET VB
- 29. Проверка Apsx не достигает .js-файла
- 30. Кнопка просмотра браузера, отображающая страницу из кеша?
Этот вопрос глубоко смущен до точки бесполезности, и я понятия не имею, почему у него появились обороты. Сначала вы говорите, не объясняя почему, что вы хотите проверить, есть ли в кеше файл (который возможен, но только через тайминг-атаки, для него нет API). Затем вы говорите, что хотите знать это, чтобы избежать загрузки файла снова, но браузер * обрабатывает эту логику для вас *, если вы дадите ему правильные заголовки, поэтому эта мотивация кажется нецелесообразной. Наконец, вы задаете еще один несвязанный и неясный вопрос о том, что файлы js «очищаются» после того, как сайт «закрыт». А? –
@MarkAmery вы можете указать, что «проверка времени атаки» объясняет? – setec
@setec Вот академическая статья об этом от 15 лет назад: http://sip.cs.princeton.edu/pub/webtiming.pdf. С тех пор он не был исправлен, несмотря на то, что он был дырой в частной жизни. Версия tl; dr: сделать тег '' с атрибутами 'onload' и' onerror', указывающими на интересующий вас URL, и использовать JavaScript во времени, сколько времени потребуется для вызова одного из обработчиков. Если это составляет пару миллисекунд, пользователь кэшировал целевой URL. –