HTML, которая обходит кеш?
У меня есть файл, с которого я ссылаюсь на своем веб-сайте, например,
<a href="#" onclick="location.href='http://example.com/myfile.txt>View!</a>
Однако этот файл изменяется очень часто, и при нажатии ссылки браузер загружает кешированную версию файла, а не фактический файл.
Есть ли способ, чтобы щелчок по этой ссылке обходил кеш для этой страницы?
Что-то приятное, как <a bypassCache href='; return false;"">
, было бы желательным.
Ответы
Ответ 1
Что-то приятное, как бы желаемое.
В самом деле, вы можете сделать что-то из ссылки: Добавить случайный параметр GET.
<a href="http://example.com/myfile.txt?a=193834923283943842923">View!</a>
Вы можете использовать JavaScript (или, конечно же, серверный язык сценариев, такой как PHP), чтобы сделать это на динамической основе.
Однако самым лучшим способом было бы правильно настроить заголовки кэширования текстовых файлов в первую очередь на стороне сервера. Похищение информации заголовка из Лучший способ отключить кеширование клиентов, должен работать файл .htaccess, такой как:
<Files myfile.txt>
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0"
Header set Pragma "no-cache"
Header set Expires "Sun, 19 Nov 1978 05:00:00 GMT"
</IfModule>
</FilesMatch>
Ответ 2
Лучший способ - сообщить apache/(веб-серверу), чтобы браузер не позволял кэшировать этот файл, если у вас нет контроля над этим сервером, вы можете избежать кеша, изменив параметры, отправляемые ему, просто добавьте некоторые цифры позади?, например, когда вы создали ссылку, это делает каждый URL-адрес разным, поэтому браузер будет игнорировать кеш, но все ссылки на один и тот же файл, если сервер игнорирует дополнительный параметр. в php:
echo "<a href='http://example.com/myfile.txt?" . time() . "'>View!</a>"
Ответ 3
Просто поместите
<meta http-equiv="expires" content="0">
В раздел заголовка целевой страницы и снова проверьте
Ответ 4
Добавьте случайное число после гиперссылки, например <a href="http://example.com/myfile.txt?rand=12312321321">View!</a>
Создавайте новое случайное число каждый раз, когда загружается страница.
Ответ 5
Вы можете решить свою проблему на уровне сервера. Установите специальную дату истечения срока действия ресурсов txt (или того конкретного), которые соответствуют вашим требованиям.
Если вы используете apache, вы можете прочитать mod_expiry для apache здесь