Не существует ОДНОГО решения для всех браузеров.
Независимо от того, какие заголовки вы используете, некоторые браузеры, кажется, всегда кешируют!
Я только что придумал это решение, которое искал сам,Он все время смотрел мне в лицо.
Это не мешает браузеру кэшировать данные, а только предотвращает повторное считывание устаревших данных из кэша после перезагрузки страницы.Вы по-прежнему можете использовать эти заголовки, если данные чувствительны и никогда не хотят, чтобы они записывались в кэш, но это не будет работать во всех случаях.В моем приложении, которое не является необходимым, я хочу избежать только загрузки устаревших данных из кэша браузеров.
Это решение удивительно простое и требует мало опыта для реализации.
Я использую php, но я верюПеременные URL могут использоваться с asp, javascript и многими другими
Ваш браузер видит http://example.com/index.php, http://example.com/index.php?x=32 и http://example.com/index.php?x=3199 как разные URL, поэтому он не будет использоватьлюбой из приведенных выше URL-адресов в качестве кэша для другого.
Я генерирую случайное число в PHP, которое вы, вероятно, можете сделать в ASP
в php, который я использую:
$rand=(rand(1, 99999));
Теперь моя ссылка на PHP (должна быть проста для понимания даже при ограниченном PHP)
'<a href="http://example.com/index.php?rand='.$rand.'>"
Если на странице уже есть переменные URL, мы добавляем ее в любые формы GET или сцепленные ссылки.
Если формы являются почтовыми формами, мы помечаем их по URL-адресу «action», поэтому
http://example.com/index.php
становится
http://example.com/index.php?rand=<?php echo $rand;?>
Тогда любая страница, которую я не хочу кэшироватьЯ просто добавляю это случайное число в качестве переменной URL.Эта переменная URL вообще не обрабатывается сервером, я никогда не получаю это число и не нуждаюсь в этом.
http://example.com/index.php?rand=4398 в следующий раз, когда мы загрузим ту же страницу, браузер считает, что это другая страница из-за другой переменной rand = URL.
Не беспокойтесь, нам никогда не придется ее читатьЭто только для того, чтобы "обмануть" браузер.В следующий раз, когда мы перейдем на ту же страницу, мы, скорее всего, увидим совсем другое число
http://example.com/index.php?rand=55468
или, что касается вашего браузера, НЕ ту же страницу, даже если мыполностью отбросьте переменную обратно на сервер, то есть она не имеет значения в вашем ASP или PHP и никогда не используется в качестве переменной.
Ответ теперь настолько прост, что я удивлен, что потратил на это несколько недель, и ничего не работало согласованно,ЭТО ДЕЛАЕТ!