+  HandyCache форум
|-+  Главная категория» Общие вопросы» Опция "Игнорировать No-Cache"
Имя пользователя:
Пароль:
Страниц: 1 [2] 3 4 5  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: Опция "Игнорировать No-Cache"  (Прочитано 63683 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #20 : 26 февраля 2007, 11:19:26 »

Михаил
С теорией я в общем-то согласен. Записывали что-то в кэш с включенной опцией, затем отключили ее, но продолжаем получать из кэша сохраненное ранее вместо того, чтобы снова и снова качать с сервера. Непорядок.
Но вот представить себе практическую ситуацию, когда это будет действительно во вред, что-то не получается. Особенно при включенной опции "Добавить If-Modified-Since при наличии файла в кэше".
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #21 : 26 февраля 2007, 11:26:13 »

Rick
Цитировать
Но вот представить себе практическую ситуацию, когда это будет действительно во вред, что-то не получается. Особенно при включенной опции "Добавить If-Modified-Since при наличии файла в кэше".
Так до нее же (до этой опции) дело не дойдет, если URL есть в "Н" или "Т" - файл молча возьмется из кэша.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #22 : 26 февраля 2007, 11:31:37 »

Так до нее же (до этой опции) дело не дойдет, если URL есть в "Н" или "Т" - файл молча возьмется из кэша.
Во-первых, и без этой опции что-то не придумывается "вредная" ситуация, во-вторых, удивитильно: что меня заставило написать правила для Н/Т а потом отказаться от кэширования файлов попадающих под эти правила? Разве-что специально я хочу что-то записать в кэш, а потом только это и видеть - но ведь в таком случае все именно так как надо.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #23 : 26 февраля 2007, 13:41:56 »

Rick
Цитировать
что-то не придумывается "вредная" ситуация
Чем менее опытен пользователь, тем больше таких ситуаций он себе создаст. Не придумывая, а просто по незнанию, недопониманию, недосмотру и т.п.
И этому в значительной мере поможет НС, неправильно обрабатывая опцию.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #24 : 26 февраля 2007, 14:28:41 »

Чем менее опытен пользователь, тем больше таких ситуаций он себе создаст. Не придумывая, а просто по незнанию, недопониманию, недосмотру и т.п.
Пример?
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #25 : 26 февраля 2007, 15:28:59 »

если URL есть в "Н" или "Т" - файл молча возьмется из кэша.

Так он и раньше точно также молча брался из кэша! С какой стати отключение "no-cache" должно менять порядок вещей?!

Само по себе включение "no-cache" не влечет необновления данных, если в списках "Н" или "Т" нет соответствующих правил, так почему же ее отключение должно вызывать обратный эффект!
Если у пользователя что-то не обновляется, то он будет разбираться со списками "Н" или "Т", а не полезет отключать "no-cache", т.к. это не логично - нет причинно-следственной связи!

Почему у пользователя отключение "no-cache" должно ассоциироваться с обязательным обновлением файла, если он даже не знает какие сайты кэшировались этой опцией, а какие нет?!
Отключив эту опцию, он не может точно знать, какие сайты выпали из-под действия этой опции! Внешние проявления в обоих случаях для него одинаковы - он видит, что  в Мониторе, как и раньше, срабатывает правило "Н" или "Т" и для обновления нужных страниц ему надо их отключить/исправить!
« Последнее редактирование: 26 февраля 2007, 15:52:42 от DenZzz » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #26 : 26 февраля 2007, 16:39:32 »

Rick
Цитировать
Пример?
У пользователя стоит правило "." в списке "Н". Галка "игнорировать no-cache" включена. URL http://handycache.ru/component/option,com_smf/Itemid,10/ (вход на этот форум) записало в кэш. Пользователь смотрит - непорядок, не обновляется форум. И так происходит еще с десятком форумов. Он отменяет галку и ожидает обновления во всех таких случаях. Ожидает он этого на основании определения директивы no-cache - если она присутствует, то мы имеем гарантию свежести файла. Однако ничего подобного не происходит - форумы продолжают необновляться.
DenZzz
Цитировать
Так он и раньше точно также молча брался из кэша! С какой стати отключение "no-cache" должно менять порядок вещей?!
Мое "файл молча возьмется из кэша" и твое "точно так же брался" - это все об одном и том же - о том, как НС работает сейчас.
Цитировать
Почему у пользователя отключение "no-cache" должно ассоциироваться с обязательным обновлением файла, если он даже не знает какие сайты кэшировались этой опцией, а какие нет?!
А для чего ж эта галка существует, если ни один пользователь по твоей логике не может узнать, что именно с помощью нее кэшируется?
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #27 : 26 февраля 2007, 20:40:38 »

У пользователя стоит правило "." в списке "Н". Галка "игнорировать no-cache" включена. URL http://handycache.ru/component/option,com_smf/Itemid,10/ (вход на этот форум) записало в кэш. Пользователь смотрит - непорядок, не обновляется форум. И так происходит еще с десятком форумов. Он отменяет галку и ожидает обновления во всех таких случаях. Ожидает он этого на основании определения директивы no-cache - если она присутствует, то мы имеем гарантию свежести файла. Однако ничего подобного не происходит - форумы продолжают необновляться.

А как же твой "неопытный" пользователь, включивший no-cache "по незнанию, недопониманию, недосмотру", вообще поймет, что все его беды от этой опции, если он даже не видит, когда эта опция срабатывала!
Он видит в Мониторе, что постоянно срабатывает правило в списке "Н" и больше ничего! Именно его он обвинит во всех грехах и полезет первым делом его править или писать исключения!

Цитировать
А для чего ж эта галка существует, если ни один пользователь по твоей логике не может узнать, что именно с помощью нее кэшируется?

Ну ты же не знал, почему у тебя не все сайты пишутся в кэш и для чего существует эта опция "Игнорировать No-cache"! Я тебе подсказал! Так и большинство неопытных пользователей не знает ее смысла и ждет совета от опытных!

А если сейчас изменить логику работы этой опции, как ты предлагаешь, то тогда мне придется еще всем объяснять, почему на некоторых файлах не срабатывает список "Н" или "Т", хотя нужное правило там есть и файлы лежит в кэше!
В общем, те же яйца - вид сбоку! Подмигивающий
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #28 : 26 февраля 2007, 21:08:39 »

DenZzz
Цитировать
А если сейчас изменить логику работы этой опции, как ты предлагаешь, то тогда мне придется еще всем объяснять, почему на некоторых файлах не срабатывает список "Н" или "Т", хотя нужное правило там есть и файлы лежит в кэше!
Если сейчас изменить логику этой опции как предлагаю я, то любой "неопытный" сможет прочесть принцип ее работы в стандарте. А сейчас я, зная как она должна работать согласно стандарту, вынужден спрашивать у тебя, т.к. она работает совершенно не так как описано в rfc2616.
Собственно, сейчас в НС вовсе не тот "no-cache" из rfc2616, а просто "однофамилец" - совершенно другая вещь. И понять это пользователю самому чрезвычайно тяжело. Зачем все так сделано? По-моему, это просто ошибка, подлежащая исправлению вместе с вводом индекса, где no-cache будет сохраняться.
« Последнее редактирование: 26 февраля 2007, 21:13:19 от Михаил » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #29 : 26 февраля 2007, 21:28:53 »

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

А списки "Н" и "Т" вообще в стандартах не описаны! Давай их отменим, чтобы не сбивать с толку неопытного пользователя, начитавшегося стандартов!  Прикольно

Ты серьезно считаешь, что неопытный пользователь первым делом полезет в многостраничный англоязычный стандарт, если у него сил не хватило даже прочесть один абзац с описанием опции "no-cache" в Документации?!

Да, страшно далеки мы от народа... Крутой
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #30 : 26 февраля 2007, 21:55:22 »

Если сейчас изменить логику этой опции как предлагаю я, то любой "неопытный" сможет прочесть принцип ее работы в стандарте.
И сейчас "любой" может прочитать в стандарте, что No-Cache запрещает кэширование, и этот же "любой" в состоянии сообразить, что если No-Cache запрещает кэширование, то включение опции "Игнорировать No-Cache" приведет к сохранению No-Cache'ного контента в кэш со всеми вытекающими последствиями. А последствия эти одинаковы для всего что есть в кэше.

У пользователя стоит правило "." в списке "Н". Галка "игнорировать no-cache" включена. URL http://handycache.ru/component/option,com_smf/Itemid,10/ (вход на этот форум) записало в кэш. Пользователь смотрит - непорядок, не обновляется форум.
После этого он смотрит в Монитор и видит причину необновления - свое правило в Н. Причина ясна, как исправить тоже.

Я тебе как-то приводил пример с оформлением форума: загружается в кэш страница(ы) форума, затем в "Т" включается правило для картинок - и никаких лишних аватаров, никаких аттачей не видим - красота. Твое "исправление" из этой красоты делает полный бардак: никакой логики, и никаких средств диагностировать почему то, что согласно "Т" должно браться из кэша, раз за разом берется из инета.

Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #31 : 26 февраля 2007, 22:29:02 »

DenZzz
Цитировать
А списки "Н" и "Т" вообще в стандартах не описаны! Давай их отменим, чтобы не сбивать с толку неопытного пользователя, начитавшегося стандартов!
Твоя логика мне непонятна. Списки "Т" и "Н" в стандартах не описаны, поэтому то, что в стандарте описано и четко регламентировано мы должны сделать по-другому. При этом мы оставляем у этого другого то же самое наименование (no-cache). Но это не тот no-cache, который в стандарте, а тот, который надо спросить у "опытного пользователя". Так, что ли?
Цитировать
Ты серьезно считаешь, что неопытный пользователь первым делом полезет в многостраничный англоязычный стандарт, если у него сил не хватило даже прочесть один абзац с описанием опции "no-cache" в Документации?!
Безусловно считаю. Иначе ему просто неоткуда узнать, а что же такое no-cache и для чего нужна опция.
Rick
Цитировать
А последствия эти одинаковы для всего что есть в кэше.
С чего это они одинаковы? Что ты имеешь ввиду?
Цитировать
Твое "исправление" из этой красоты делает полный бардак: никакой логики, и никаких средств диагностировать почему то, что согласно "Т" должно браться из кэша, раз за разом берется из инета.
Ты не прав. Логика железобетонная: пользователь доверяет определение того, что ни при каких условиях не должно показываться несвежим, серверу. А вот все остальное (в отношении чего сервер ему не дает подсказки) он кэширует по собственному разумению. Очень удобно.
А вот если он не доверяет серверу (гулька включена), тогда и для таких URL будет браться пользовательский способ кэширования.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #32 : 27 февраля 2007, 00:37:51 »

Твоя логика мне непонятна. Списки "Т" и "Н" в стандартах не описаны, поэтому то, что в стандарте описано и четко регламентировано мы должны сделать по-другому.
DenZzz на разные лады пытается донести до тебя мысль, что именно нарушение требований стандарта и дает нам возможность экономить трафик и время. Если все делать по стандарту - HC не нужен, достаточно пользовать нормальный браузер. Но и об экономии, тогда, соответственно, нужно забыть.

Цитировать
При этом мы оставляем у этого другого то же самое наименование (no-cache). Но это не тот no-cache, который в стандарте, а тот, который надо спросить у "опытного пользователя".
Тот же самый No-Cache. Никаких отличий. Именно тот самый N-C который "по стандарту" и игнорируется при записи в кэш. Именно при записи в кэш! Не при чтении из кэша, не при последующей обработке, не при очистке кэша - опция влияет именно и только на то, что записывается в кэш.

Цитировать
С чего это они одинаковы? Что ты имеешь ввиду?
Какими бы путями файл не появился в кэше его чтение из кэша происходит согласно списков правил.

Цитировать
Логика железобетонная: пользователь доверяет определение того, что ни при каких условиях не должно показываться несвежим, серверу. А вот все остальное (в отношении чего сервер ему не дает подсказки) он кэширует по собственному разумению. Очень удобно.
Ну и логика... Кто верит в Магомеда, кто в Аллаха, кто в Иисуса. Кто ни во что не верит - только в Сервер назло всем...
В НС не надо играть в "верю-не верю" - нужно иметь соответствующие правила в Н/Т. А с твоей "железобетонной логикой" обычный принцип "сохранил в кэш - читаешь сохраненное без обращений к серверу" летит в тар-тарары. Потому-что с одной стороны начинается угадайка "верю-не верю", с другой это никак не скажется на контенте не имеющем N-C в заголовках - железобетонный ералаш в головах у пользователя готов.
Дык что по-твоему проще/удобней: анализировать строки в Мониторе и поддерживать правила в Н/Т в нужном виде или анализировать логи и выяснять с N-C тот или иной URL или без и как ему "верить" и при этом все-равно следить за содержанием списков Н/Т?

Цитировать
А вот если он не доверяет серверу (гулька включена), тогда и для таких URL будет браться пользовательский способ кэширования.
Оставь вопросы веры и обратись к материальным понятиям: запись в кэш и чтение из кэша. Опция игнорирования N-C влияет именно и только на запись в кэш. На чтение из кэша она не влияет и не будет влиять. Чтением из кэша управляют списки Н/Т. Все логично и никаких противоречий.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #33 : 27 февраля 2007, 01:15:19 »

Rick
Цитировать
Опция игнорирования N-C влияет именно и только на запись в кэш. На чтение из кэша она не влияет и не будет влиять.
Тогда надо назвать эту опцию ее как угодно, только не "Игнорирование no-cache". Но тогда ее полезность близится к нулю. Настоящая no-cache работает с точностью до наоборот: влияет только на чтение из кэша и никак не влияет на запись туда. Т.е. то, игнорируем мы ее или нет, никак не должно влиять на запись в кэш и обязано влиять на чтение. То, что делает НС сейчас - это, на мой взгляд, логическая ошибка.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #34 : 27 февраля 2007, 01:26:08 »

Настоящая no-cache работает с точностью до наоборот: влияет только на чтение из кэша и никак не влияет на запись туда.
Заблуждение! Перечитай стандарт. Подсказка: читай не только про Pragma (HTTP 1.0), но и про Cache-Control (HTTP 1.1). Ищи что именно разрешается кэшировать.

Все забываю спросить: ты не против, если я переименую топик в соответствии с обсуждаемым вопросом в "Опция "Игнорировать No-Cache"?
« Последнее редактирование: 27 февраля 2007, 01:38:26 от Rick » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #35 : 27 февраля 2007, 01:30:46 »

Rick
Цитировать
Перечитай стандарт.
Что "норд-вест"? Пальцем покажи! (анекд.) Подмигивающий
Это видимо что-то отличное от того, что я приводил здесь.

Цитировать
Все забываю спросить: ты не против, если я переименую топик в соответствии с обсуждаемым вопросом в "Опция "Игнорировать No-Cache"?
Мистика! Чтение мыслей какое-то Улыбка Сижу и думаю: "В следующем посте надо попросить сменить название темы".
« Последнее редактирование: 27 февраля 2007, 01:49:00 от Михаил » Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #36 : 27 февраля 2007, 01:58:20 »

Что "норд-вест"? Пальцем покажи! (анекд.) Подмигивающий
Показываю: Улыбка
13.9.1. Что допускает кэширование?
По умолчанию отклик допускает кэширование, если требования метода запроса, поля заголовка запроса и код статуса отклика указывают на то, что кэширование не запрещено. Раздел 12.4 обобщает эти рекомендации для кэширования. Следующие Cache-Control директивы отклика позволяют исходному серверу переписать стандартные требования по кэшируемости:
public
Указывает, что отклик может кэшироваться любым кэшем, даже если он в норме не кэшируем или кэшируем только в кэшах индивидуального пользования. (См. также об авторизации в разделе 13.8.)
private
Указывает, что весь или часть сообщения отклика предназначена для одного пользователя и не должна быть записана кэшем коллективного пользования. Это позволяет исходному серверу заявить о том, что специфицированные части отклика предназначены только для одного пользователя, и он не может отсылаться в ответ на запросы других пользователей. Частный кэш может кэшировать такие отклики.
Замечание. Это использование слова частный (private) определяет только возможность кэширования и не гарантирует конфиденциальности для содержимого сообщения.
no-cache
Указывает, весь или фрагмент сообщения-отклика не должны кэшироваться, где бы то ни было. Это позволяет исходному серверу предотвратить кэширование даже для кэшей, сконфигурированных для рассылки устаревших откликов.
Замечание. Большинство кэшей HTTP/1.0 не распознают и не исполняют эту директиву.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #37 : 27 февраля 2007, 02:16:51 »

Rick
Ясно. Убогий перевод. То, что приводил я - этот же абзац в оригинале.
Перевожу дословно (может, чуть коряво):
no-cache
Если в директиве no-cache не указывается field-name, то кэш НЕ ДОЛЖЕН использовать этот ответ для удовлетворения последующего запроса без успешной проверки его (ответа) неизменности на сервере. Это позволяет серверу предотвращать кэширование даже со стороны кэшей, которые сконфигурированы возвращать устаревшие ответы на запросы клиента.

А несохранять в кэш без затрагивания вопроса о чтении оттуда должна директива no-store. Но применяется она крайне редко. В основном, когда идет речь о конфиденциальной информации.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #38 : 27 февраля 2007, 03:57:12 »

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

Цитировать
Перевожу дословно (может, чуть коряво):
Попробуем обойтись без выяснения (не)правильности перевода revalidation как "неизменность", а не "повторное получение валидного ответа": обрати внимание на слова в своем же переводе "Это позволяет серверу предотвращать кэширование...". No-Cache указывает, что не следует записывать в кэш!
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #39 : 27 февраля 2007, 10:50:28 »

Rick
Цитировать
обрати внимание на слова в своем же переводе "Это позволяет серверу предотвращать кэширование...". No-Cache указывает, что не следует записывать в кэш!
Нет. Кэширование - это шире записи в кэш. Оно включает как запись, так и последующее чтение оттуда. Здесь речь идет о том, что ввиду того, что невалидного чтения не будет не будет и кэширования.
Сообщить модератору   Записан
Страниц: 1 [2] 3 4 5  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: