Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как запретить кеширование в Opera и Safari
 
 автор: tourist   (12.02.2014 в 10:59)   письмо автору
 
 

Здравствуйте!
Подскажите пожалуйста, как запретить кеширование в Opera и Safari?

  Ответить  
 
 автор: moonfox   (12.02.2014 в 16:49)   письмо автору
 
   для: tourist   (12.02.2014 в 10:59)
 

http://4remind.ru/web-masterskaya/utility-servisy/kak-zapretit-keshirovanie-stranits-sayta.html

  Ответить  
 
 автор: tourist   (13.02.2014 в 12:30)   письмо автору
 
   для: moonfox   (12.02.2014 в 16:49)
 

Здравствуйте!
Зашёл по ссылке которую Вы указали. Подобного в интернете полно. Попробовал применить то что там написано.
Но и заголовки и метатеги хорошо работают в Mozilla Firefox, Google Chrome, Yandex и совсем не работают в Safari и Opera. Именно поэтому я и обратился на форум.
Что касается работы Apache .htaccess, я так понимаю, надо обращаться на форум Apache?
Вчера Вы написали мне "неверная концеция переадресаций вот ваша проблема тут даж не надо яаксы мутить... просто подумать пару дней)".
Может быть подскажите хотя-бы, в каком направлении думать?

  Ответить  
 
 автор: moonfox   (13.02.2014 в 16:19)   письмо автору
 
   для: tourist   (13.02.2014 в 12:30)
 

<IfModule mod_headers.c>
Header append Cache-Control "no-store, no-cache, must-revalidate"
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "now"
</IfModule>

или

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Expires: " . date("r"));

проверяйте заголовки ответа сервера вобщем

а насчет поведения после завершения оформления
надо проверять на какое либо условие которое изменилось после оформления заказа
и если оно таки изменилось то переадресовывать юзера на определенную конечную страницу
или менять вывод контента в зависимости от этого параметра в пределах этой же условно конечной страницы
ну и не кешируйте ее))

вы же можете определить скажем что корзина у юзера в пределах его сессии имеет позиции и показать их и если не имеет то вывести что-то типа - корзина пуста

  Ответить  
 
 автор: tourist   (21.02.2014 в 13:09)   письмо автору
 
   для: moonfox   (13.02.2014 в 16:19)
 

Здравствуйте!
Спасибо за советы! Всё что Вы предлагаете действительно имеет место. И после подтверждения покупки, сессия сбрасывается, и корзина пуста. И при нажатии на back, при отсутствии кеширования, действительно не сложно перенаправить пользователя куда угодно.
Но если для Mozilla Firefox достаточно прописать в файле соответствующие заголовки или мета теги, и кеширования не будет. То в Operа ни то, ни другое не работает. И при нажатии на back и переходе на предыдущую страницу, перенаправления не происходит, и браузер скрипты не считывает. Он как-бы занят сам собой и выдаёт скриншот предыдущего состояния страницы. То есть, то, чего уже не существует.
Скрипты же начнут выполнятся только после того, как пользователь нажмет на любую ссылку. А если он будет давить только на back и forwar, то так и будет бесконечно бродить по прошлой жизни.
Конечно, ничего страшного в этом нет, и рано или поздно он нажмёт на ссылку и программа снова заработает. Но, по-моему, в подобных блужданиях заключено что-то некрасивое и бессмысленное.
Правда есть ещё надежда, что подключение модулей mod_headers.c и mod_expires.c и соответствующая запись в .htaccess остановит кеширование и в Opera. Но и с этими модулями не совсем всё хорошо. Так, после того, как я в "Денвере" раскомпелировал:
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
"Денвер" перестал работать. При том, что он у меня относительно недавний. А это уже само по себе говорит о том, что эти модули задействуются крайне редко. И на хостинге они вполне могут быть отключены.
Раскомпилирование этих модулей в Apache установленном на компе, и соответствующая запись в .htaccess проблем не вызвали. Но и кеширование не сняли. Думаю, потому, что с самими этими модулями что-то не так. Ведь в добавлении к LoadModule на различных сайтах попадаются и
AddModule mod_expires.c
AddModule mod_headers.c
Но в конфигурационных файлах Apache этого нет. То ли это надо дописать? То ли откуда-то загрузить? А кое-где пишут, что одно заменяет другое. Но и то и другое относится к Unix, а для Windows вроде бы, должно быть расширение dll.
В общем, необходимо дальнейшее изучение вопроса.

  Ответить  
 
 автор: filipow65   (09.01.2015 в 15:47)   письмо автору
 
   для: tourist   (12.02.2014 в 10:59)
 

Как происходит кэширование
Открывая тот или иной ресурс, определенные элементы изначально подгружаются из хранилища данных, коим и является кэш. Остальная часть информации берется из сети. Благодаря данной технологии не только страницы открываются быстрее, но и происходит экономия трафика.
http://hommers.ru/kak-rabotaet-kesh-v-opera/ здесь все подробно описано.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования