Jump to content
  • 0

как заставить браузер загружать "свежий вариант" страницы?


beriton
 Share

Question

Здравствуйте.

Прошу помощи: как заставить браузер при посещении загружать каждый раз "свежий вариант" страницы?

Слышал, что в META можно прописать (как?), но так же и слышал, что НЕ ВСЕ браузеры эти META понимают... Или это направильное утверждение?

Помогите, пожалуйста.

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

- это запрет на кэширование, (или, иным словом, на КОПИРОВАНИЕ). А это: - по делу, браузер должен загружать страницу ИЗ ИНТЕРНЕТа ( не из кэша) при каждом новом обращении, однако - не загружает же! Только при нажатии кнопки "обновить" - загружает новую. Я почему и спрашиваю: как этот долбаный IE заставить понимать всем давно уже известный язык? И отказаться от IE нельзя: клиент не сном, не духом об Опере, Мозилле; да и общий процент пользователей IE где-то под 70%... И что делать?

Link to comment
Share on other sites

  • 0

- смысл тот же, но это немного другой инструмент. Показывает степень "свежести" документа. К примеру если установить content="7", то кеш страницы будет обновляться раз в неделю.

По поводу последних - ничего не знаю.

Link to comment
Share on other sites

  • 0

последние на кэширование никак не влияют, в данный момент это чисто техинформация наподобие

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

1. кэш есть в оперативной памяти и постоянный. если мы обращаемся к статической странице .htm, .html итд, даже имея в ней запрет кэширования, эта страница остается в оперативном кэше до завершения сессии. потому для статических страниц еще необходимо вписывать хотя бы must-revalidate

2. браузеры типа оперы и подавно игнорируют такие вещи. им даже плевать на объявление "нужна сверка". тут ничего не поделать, в конце концов пользователь сам определяет как ему удобнее и осознает возможные последствия

3. помимо must-revalidate, статические страницы отличаются от динамических заголовком Last-Modified. у динамических он равен текущему времени, т.е. браузер видит что копия даже из оперативной памяти устарела и требуется обновить хтмл-код. для статической страницы он равен времени модификации файла на сервере, так что для статики выход все равно только в переводе к динамическим страницам, т.к. html не имеет возможности посылать заголовок с последним изменением

Link to comment
Share on other sites

  • 0

И что тогда делать?

Делаю для клиента сайтик, ему постоянно что-то не нравится ( это всегда так бывает ), просит меня что-то менять, я меняю, клиент в недоумении, что вс? осталось по старому, я ему в ответ: "обновите страницу"; при обновлении он видит, что изменения внесены. Но, на его резонный вопрос: "это, что, я ( и мои посетители ) всегда так делать должны?!" - что мне ответить? Клиент прав: ему вс? равно что и как, для него главное - вовремя залитая свежая информация на его сайте. И что делать?

если установить content="7", то кеш страницы будет обновляться раз в неделю

так если установить content="0", где-то читал, что в этом случае страница будет всегда загружаться новая, или это неверно?

И потом, если я правильно понимаю "мозги браузера", наверное, есть же разница, когда клиент заходит на сайт через поисковик, или когда через "избранное"? Хотя для него, правда, это вс?-равно; тогда как в коде прописать, чтобы браузер всегда загружал новый вариант страницы?

Вы меня простите, пожалуйста, что и на этом форуме начинаю всех "доставать", но ведь и форум запустили для начинающих. У кого ещ? спрашивать?.. Помощи прошу.

Угостите "этим секретным" кодом, если кому не лень...

Link to comment
Share on other sites

  • 0
И потом, если я правильно понимаю "мозги браузера", наверное, есть же разница, когда клиент заходит на сайт через поисковик, или когда через "избранное"? Хотя для него, правда, это вс?-равно; тогда как в коде прописать, чтобы браузер всегда загружал новый вариант страницы?

даже в ие есть разница каким образом юзер хочет пойти на страницу.

варианты:

А - стандартный переход - нажатие ссылки где-либо, в.т. числе переход по меню из избранного и просто клик по кнопке "Go", он же Enter в адресной строке.

Б - "легкое" обновление - нажатие F5 (оно же кнопка "обновить"). при этом будет послан запрос на сервер, после получения ответа обновится только хтмл-код, все статические объекты возьмутся из кэша.

В - "жесткий" рефреш - Ctrl+F5. будет перезагружен хтмл-код страницы и все статические объекты, кроме фреймов и соответственно статических объектов в фреймах.

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

или банально переделать в .php, выводя перед хтмл-кодом

<?php
header('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'); // для совместимости
?>

Link to comment
Share on other sites

  • 0

<?php
header('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'); // для совместимости
?>

ВОТ ЗА ЭТО РЕСПЕКТ И УВАЖУХА !!!!! РАБОТАЕТ НА УРА !!! СПАСИБО !

Link to comment
Share on other sites

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.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy