January
Кэширование страниц браузерами (FireFox, Opera) действительно полезная вещь. Правда, иногда это только мешает.
При разработке серьезных веб-приложений (в частности с помощью Java) важна актуальность информации на страницах сайта. В этом случае нужно застраховаться от того, что кто-то из пользователей во всю пользуется возможностью браузера кэшировать страницы.
Есть простой способ решить эту проблему.
Для этого необходимо в HTTP-запросе передать какой-нибудь уникальный идентификатор. Это гарантирует, что браузер воспримет открываемую страницу как новую и не будеть искать ее в кэше.
Уникальным идентификатором может послужить время загрузки страницы. Получить текущее время в Java можно так:
long id = System.currentTimeMillis();
или
long id = (new Date()).getTime().
В обоих случаях мы получим значение типа long. Теперь с некоторым url типа String можно сделать следующее:
url +=“?id=” + id;
или
url +=“&id=” + id;
в зависимости от ситуации.
Те, кто знакомы со Struts, могут использовать вышеописанное при создании ActionForward на лету, например:
long id = System.currentTimeMillis(); ActionForward fwd = new ActionForward(url + “?id” + id, false);
Вот и все.
3 Comments »
RSS feed for comments on this post. TrackBack URI
а чего в хедеры не передать нокеш? правда, я говорил с одним уникомом, который на проксе поставил не обновлять страницы никогда.. и вот, звонит он мне и говорит - вот я в админ интерфейсе удалил страницу , а мне показывает её… я смотрю - нет страницы… говорю кеш, обновите експлорер… нипамагло… я пересмотрел на хедеры - явно ж гаварю, не кешить.. а ему пох.. потом, после часа разбираний, это придурок всё таки раскалолся, что он так настроил проксю.. и разве не быть таких по галаве?
ну твой вариант - красивый, а что же делать с посковиками, которые будут загребать всё по несколько раз и думать, что это разные страницы?…
Думаю, поисковикам трудновато будет отгадать твой пароль и зайти в security zone. А если это информация, которая аутентификации не требует, то необходимости держать ее каждую секунду up-to-date не вижу.
Кстати, слышал такую вещь, что некоторые поисковики не воспринимают амперсант и все что после него, это правда?
>> Кстати, слышал такую вещь, что некоторые поисковики не воспринимают амперсант и все что после него, это правда?
да кажется было такое… но если посмотреть на результаты поиска на этих же поисковиках, то думаю это уже не проблема….