beriton Posted March 13, 2008 Report Share Posted March 13, 2008 Здравствуйте. Прошу помощи: как заставить браузер при посещении загружать каждый раз "свежий вариант" страницы?Слышал, что в META можно прописать (как?), но так же и слышал, что НЕ ВСЕ браузеры эти META понимают... Или это направильное утверждение?Помогите, пожалуйста. Quote Link to comment Share on other sites More sharing options...
0 Dimitry Wolotko Posted March 13, 2008 Report Share Posted March 13, 2008 Все вс? понимают.Однако большинство современных браузером и без этих ухищрений понимают, обновилась страница, или нет. Quote Link to comment Share on other sites More sharing options...
0 beriton Posted March 13, 2008 Author Report Share Posted March 13, 2008 - это запрет на кэширование, (или, иным словом, на КОПИРОВАНИЕ). А это: - по делу, браузер должен загружать страницу ИЗ ИНТЕРНЕТа ( не из кэша) при каждом новом обращении, однако - не загружает же! Только при нажатии кнопки "обновить" - загружает новую. Я почему и спрашиваю: как этот долбаный IE заставить понимать всем давно уже известный язык? И отказаться от IE нельзя: клиент не сном, не духом об Опере, Мозилле; да и общий процент пользователей IE где-то под 70%... И что делать? Quote Link to comment Share on other sites More sharing options...
0 Dimitry Wolotko Posted March 13, 2008 Report Share Posted March 13, 2008 Если не будет кеша, то будет тянуть по новому из Сети. Я не понимаю вашего недовольства. Quote Link to comment Share on other sites More sharing options...
0 beriton Posted March 13, 2008 Author Report Share Posted March 13, 2008 Если не будет кеша, то будет тянуть по новому из Сети.Cогласен, согласен. - тогда это про что?И это о ч?м ( уж извините, ):? Quote Link to comment Share on other sites More sharing options...
0 Dimitry Wolotko Posted March 13, 2008 Report Share Posted March 13, 2008 - смысл тот же, но это немного другой инструмент. Показывает степень "свежести" документа. К примеру если установить content="7", то кеш страницы будет обновляться раз в неделю.По поводу последних - ничего не знаю. Quote Link to comment Share on other sites More sharing options...
0 D.S.Denton Posted March 14, 2008 Report Share Posted March 14, 2008 последние на кэширование никак не влияют, в данный момент это чисто техинформация наподобие а по поводу необходимости жамкать рефреш для обновления страницы, а не загрузки из кэша, пара слов:1. кэш есть в оперативной памяти и постоянный. если мы обращаемся к статической странице .htm, .html итд, даже имея в ней запрет кэширования, эта страница остается в оперативном кэше до завершения сессии. потому для статических страниц еще необходимо вписывать хотя бы must-revalidate2. браузеры типа оперы и подавно игнорируют такие вещи. им даже плевать на объявление "нужна сверка". тут ничего не поделать, в конце концов пользователь сам определяет как ему удобнее и осознает возможные последствия3. помимо must-revalidate, статические страницы отличаются от динамических заголовком Last-Modified. у динамических он равен текущему времени, т.е. браузер видит что копия даже из оперативной памяти устарела и требуется обновить хтмл-код. для статической страницы он равен времени модификации файла на сервере, так что для статики выход все равно только в переводе к динамическим страницам, т.к. html не имеет возможности посылать заголовок с последним изменением Quote Link to comment Share on other sites More sharing options...
0 beriton Posted March 15, 2008 Author Report Share Posted March 15, 2008 И что тогда делать?Делаю для клиента сайтик, ему постоянно что-то не нравится ( это всегда так бывает ), просит меня что-то менять, я меняю, клиент в недоумении, что вс? осталось по старому, я ему в ответ: "обновите страницу"; при обновлении он видит, что изменения внесены. Но, на его резонный вопрос: "это, что, я ( и мои посетители ) всегда так делать должны?!" - что мне ответить? Клиент прав: ему вс? равно что и как, для него главное - вовремя залитая свежая информация на его сайте. И что делать?если установить content="7", то кеш страницы будет обновляться раз в неделютак если установить content="0", где-то читал, что в этом случае страница будет всегда загружаться новая, или это неверно?И потом, если я правильно понимаю "мозги браузера", наверное, есть же разница, когда клиент заходит на сайт через поисковик, или когда через "избранное"? Хотя для него, правда, это вс?-равно; тогда как в коде прописать, чтобы браузер всегда загружал новый вариант страницы?Вы меня простите, пожалуйста, что и на этом форуме начинаю всех "доставать", но ведь и форум запустили для начинающих. У кого ещ? спрашивать?.. Помощи прошу.Угостите "этим секретным" кодом, если кому не лень... Quote Link to comment Share on other sites More sharing options...
0 D.S.Denton Posted March 15, 2008 Report Share Posted March 15, 2008 И потом, если я правильно понимаю "мозги браузера", наверное, есть же разница, когда клиент заходит на сайт через поисковик, или когда через "избранное"? Хотя для него, правда, это вс?-равно; тогда как в коде прописать, чтобы браузер всегда загружал новый вариант страницы?даже в ие есть разница каким образом юзер хочет пойти на страницу.варианты:А - стандартный переход - нажатие ссылки где-либо, в.т. числе переход по меню из избранного и просто клик по кнопке "Go", он же Enter в адресной строке.Б - "легкое" обновление - нажатие F5 (оно же кнопка "обновить"). при этом будет послан запрос на сервер, после получения ответа обновится только хтмл-код, все статические объекты возьмутся из кэша.В - "жесткий" рефреш - Ctrl+F5. будет перезагружен хтмл-код страницы и все статические объекты, кроме фреймов и соответственно статических объектов в фреймах.т.е. если установлен тэг но-кэш, но при том пользователь не закрывал браузер и просто жамкнет гоу или выберет в избранном - страница возьмется из кэша. достаточно объяснить заказчику что клиенты не сидят постоянно на его сайте, а заходят туда в лучшем идеальном случае раз в сутки, соответственно браузер закрывается и обновления увидятили банально переделать в .php, выводя перед хтмл-кодом<?phpheader('Cache-Control: no-store, no-cache, must-revalidate'); // основное для нормальных браузеровheader('Cache-Control: post-check=0, pre-check=0', false); // тоже основноеheader('Expires: Mon, 01 Jan 1990 01:00:00 GMT'); // срок жизни страницы истек в прошлом (специально для ИЕ)header('Last-Modified: '.gmdate("D, d M Y H:i:s").' GMT'); // последнее изменение - в момент запроса (тоже специально для ИЕ)header('Pragma: no-cache'); // для совместимости?> Quote Link to comment Share on other sites More sharing options...
0 quake3 Posted November 26, 2009 Report Share Posted November 26, 2009 <?phpheader('Cache-Control: no-store, no-cache, must-revalidate'); // основное для нормальных браузеровheader('Cache-Control: post-check=0, pre-check=0', false); // тоже основноеheader('Expires: Mon, 01 Jan 1990 01:00:00 GMT'); // срок жизни страницы истек в прошлом (специально для ИЕ)header('Last-Modified: '.gmdate("D, d M Y H:i:s").' GMT'); // последнее изменение - в момент запроса (тоже специально для ИЕ)header('Pragma: no-cache'); // для совместимости?>ВОТ ЗА ЭТО РЕСПЕКТ И УВАЖУХА !!!!! РАБОТАЕТ НА УРА !!! СПАСИБО ! Quote Link to comment Share on other sites More sharing options...
0 Int Posted November 26, 2009 Report Share Posted November 26, 2009 Некропостер. Quote Link to comment Share on other sites More sharing options...
Question
beriton
Здравствуйте.
Прошу помощи: как заставить браузер при посещении загружать каждый раз "свежий вариант" страницы?
Слышал, что в META можно прописать (как?), но так же и слышал, что НЕ ВСЕ браузеры эти META понимают... Или это направильное утверждение?
Помогите, пожалуйста.
Link to comment
Share on other sites
10 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.