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

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #80 : 28 февраля 2007, 17:35:11 »

Так и запишем Улыбка
Не писать ....
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #81 : 28 февраля 2007, 17:39:58 »

Если опция ВКЛЮЧЕНА или в ответе нет подстроки 'no-cache', то программа переходит к обработке списка Запись в кэш. Если опция ВЫКЛЮЧЕНА, то наличие 'no-cache' в ответе на проверяется (игнорируется).

Кажется, буква "Ы" в этом предложении лишняя!? Подмигивающий
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #82 : 28 февраля 2007, 17:53:03 »

"Ы" на месте. Просто не полная фраза. Должно быть: Если опция ВЫКЛЮЧЕНА, то наличие 'no-cache' в ответе не проверяется и обработка списка "З" (а следовательно и запись) не производится.

Вообще-то, при вЫключенной опции как раз и проверяются заголовки на предмет наличия 'no-cache' для принятия решения о кэшировании!

Или был смысл такой: "Если опция ВЫКЛЮЧЕНА, то наличие 'no-cache' в закэшированных ранее ответах не проверяется!"
Сообщить модератору   Записан
Rick
Администратор
*****

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

Сообщений: 868


WWW
« Ответ #83 : 28 февраля 2007, 17:53:29 »

"Ы" на месте. Должно быть: Если опция ВЫКЛЮЧЕНА, и в ответе присутствует 'no-cache' то обработка списка "З" (а следовательно и запись) не производится.

DenZzz
Я тоже второпях сначала неправильно написал. Улыбка

Цитировать
наличие 'no-cache' в закэшированных ранее ответах не проверяется!
А это и не может проверяться. Для закэшированных ранее ответов неизвестно было ли no-cache, не было ли.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #84 : 28 февраля 2007, 17:54:12 »

DenZzz
Цитировать
Кажется, буква "Ы" в этом предложении лишняя!?
Ты прав, спасибо за бдительность. Хотел внести ясность и внес, называется  :Улыбка
То что я хотел выразить, следует читать так:
Если опция ВКЛЮЧЕНА или в ответе нет подстроки 'no-cache', то программа переходит к обработке списка Запись в кэш. Если опция ВКЛЮЧЕНА, то наличие 'no-cache' в ответе не проверяется (игнорируется).
Щас исправлю то сообщение, чтобы не вводить в заблуждение
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #85 : 28 февраля 2007, 22:19:11 »

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

серега_ang
-1

Rick
Цитировать
Любопытствую твоей трактовкой директивы Cache-Control: must-revalidate и как HC без нее живет.
1. Смысл директивы следующий. Файл есть в кэше, клиент его запрашивает. Если файл устарел с точки зрения сервера, а именно уже прошло посланное ранее сервером вместе с этим файлом Expires или max-age, то файл перед выдачей из кэша надобно проверить у сервера на неизменность. Разница с no-cache такая: no-cache - файл безусловно валидируется, must-revalidate - валидируется только если он устарел с точки зрения сервера.
2. Как НС без нее живет? В принципе нормально, но до первого серьезного преткновения пользователя. Это относится не только к этой директиве, но и ко многим другим из блока Cache-Control. Во всех хитросплетениях этих директив разобраться, на мой взгляд, достаточно сложно. На все это накладывается еще многопользовательский вариант, общие и частные кэши. По всем этим направлениям одному автору работать - я считаю означает закопаться навеки. Поэтому считаю, что с помощью форума надо потихоньку, по зернышку, по мере собственного самочувствия подтягивать НС к правильной обработке этих ситуаций. Самое сложное здесь - разобраться. Это и может сделать форум. И выдать автору четкий алгоритм, как сделать (и надо ли это вообще), чтоб начал правильно обрабатываться, например, какой-нибудь proxy-revalidate, и в каких случаях надо (и надо ли) давать пользователю возможность обходить его. При необходимости можно по каждой такой директиве потихоньку создавать отдельный топик и "добивать" ее применимость к НС. Но, честно говоря, муторновато этим заниматься, хотя, на мой взгляд, все равно нужно. Энтузиазма не хватает. Подмигивающий
Цитировать
Вот сижу и думаю: а есть ли на свете хоть один прокси-сервер, который работает в соответствии с твоими желаниями - т.е. такой, который бы не только записывал в кэш/читал из кэша, но еще бы и запоминал какой ответ с какой директивой пришел и использовал эту память при формировании ответов на дальнейшие запросы? Ты о таких часом не слыхал? Есть пример для подражания?
Точно разбираться не хочется, но мне кажется, что запоминают все это сквид и ISA сервер. А вот равняться, наверное, на них прям так уж сильно не надо. Но в некоторых моментах стоит и позаимствовать идеи.

серега_ang
Цитировать
Там где выложены логи смоделированы странные ситуации, особенно вторая - пользователь наложил в кеш файлов с включенной опцией, потом отключил ее, при этом у него в Н правило '.' ... Это нереально, либо пользователь просто тыкает все настройки абсолютно непонимая их смысла.
Согласен, пример не из распространенных - просто не задавался такой целью - делать его супер жизненным. Но имеет ведь право такая логика - пользователь решил включить "Игнорировать no-cache", чтоб начать экономить больше. В результате ряд критичных для него сайтов начал работать не так, как раньше. Поработав так некоторое время, он плюнул, и не став выяснять подробности для каждого из таких сайтов, просто отключил галку взад - "пусть все будет по прежнему". Вот и ситуация. Правило "." в "Н" и весь пример ради того, чтоб логом доказать, что НС ведет себя именно так, как я говорил. Если претит включение/отключение галки одним и тем же пользователем, можешь задуматься над примером, когда пользователя два на общем кэше. У одного галка включена, у другого - выключена.

DenZzz
Цитировать
У тебя не складывается ощущение, что "Некоторые" = ВСЕ, кроме тебя?!
Не складывается.
« Последнее редактирование: 28 февраля 2007, 22:34:41 от Михаил » Сообщить модератору   Записан
cepera_ang
Beta tester
*****

Репутация: +9/-4
Offline Offline

Сообщений: 355


« Ответ #86 : 01 марта 2007, 00:12:46 »

Согласен, на ру-борде не обсуждали, но там появилась сразу версия 0.92 уже с этой опцией. Где обсуждались/обсуждались ли вообще более ранние версии я не знаю. Ну и фиг с ним. Обсудим сейчас. Только без меня - сил уже не осталось " очень патетично, "разворачивая" по своему разумению чужие точки зрения" вести здесь дискуссию.
Кстати - пролистал все пять печатных топиков на руборде, на предмет проблем с это опцией - практически ничего нет, если у кого-то некешировалось, ему говорили включить опцию и все Улыбка. Так что по-моему проблема надуманная
Сообщить модератору   Записан
Rick
Администратор
*****

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

Сообщений: 868


WWW
« Ответ #87 : 01 марта 2007, 17:36:08 »

Точно разбираться не хочется, но мне кажется, что запоминают все это сквид и ISA сервер. А вот равняться, наверное, на них прям так уж сильно не надо. Но в некоторых моментах стоит и позаимствовать идеи.
Честно говоря, у меня велико убеждение, что рекомендации RFC2616 в отношении директивы no-cache всеми разработчиками прокси трактуется как "не кэшировать". Точнее не важно как трактуется, но реализуется именно так. Убеждение ни чем не подтверждено - просто мне так кажется.
Сообщить модератору   Записан
Rick
Администратор
*****

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

Сообщений: 868


WWW
« Ответ #88 : 01 марта 2007, 21:03:55 »

Михаил

Посмотрел про Squid:

To determine whether a given object may be cached, Squid takes many things into consideration. The current algorithm (for Squid-2) goes something like this:
  • Responses with Cache-Control: No-Cache are NOT cachable.
  • Responses with Cache-Control: No-Store are NOT cachable.

Посмотрел про ISA Server 2006:

Not all Internet content can be cached. ISA Server will not cache Web pages with specific information in the response or request headers, as follows:
Header TypeDetails
Cache-Control: no-cache response headerThe HTTP 1.1 Cache-control header prevents all catching.
Pragma: no-cache response headerHTTP 1.0 servers cannot use the Cache-Control header. The Pragma: no-cache header ensures that if the client communicates with the server over a secure HTTPS connection, and the server returns a Pragma-no-cache header with the response, the response is not cached.
Cache-Control: no-store request headerIndicates that the cache must not store any part of either the request or any response to it.

А несохранять в кэш без затрагивания вопроса о чтении оттуда должна директива no-store.

Цитировать
обрати внимание на слова в своем же переводе "Это позволяет серверу предотвращать кэширование...". No-Cache указывает, что не следует записывать в кэш!

Нет. Кэширование - это шире записи в кэш. Оно включает как запись, так и последующее чтение оттуда. Здесь речь идет о том, что ввиду того, что невалидного чтения не будет не будет и кэширования.
Похоже ты ошибаешься.
Сообщить модератору   Записан
cepera_ang
Beta tester
*****

Репутация: +9/-4
Offline Offline

Сообщений: 355


« Ответ #89 : 01 марта 2007, 21:16:12 »

Rick - респект за обоснование!
Сообщить модератору   Записан
Oneri
Новичок
*

Репутация: +2/-0
Offline Offline

Сообщений: 34


« Ответ #90 : 01 марта 2007, 21:37:43 »

squid обычно работает в online режиме и ему нет смысла сохранять данные с no-cache
для автономного режима мы должны сохранить эти страницы на диске.

с no-store все сложнее, если прокси используется несколькими юзерами то их сохранять нельзя
если одним то можно

предлагаю вывести игнорировать no-store в отдельный пункт настроек и пусть каждый решает сам нужно ему сохранять эти страницы или нет.
Сообщить модератору   Записан
cepera_ang
Beta tester
*****

Репутация: +9/-4
Offline Offline

Сообщений: 355


« Ответ #91 : 01 марта 2007, 21:42:22 »

предлагаю вывести игнорировать no-store в отдельный пункт настроек и пусть каждый решает сам нужно ему сохранять эти страницы или нет.
У меня нет соответствующей статистики, но можешь посмотреть на этом или любом другом форуме, или любом сайте живущем за счет рекламы: там есть и no-cache и no-store и must-revalidate и expires 0 и т.д....
В связи с этим может быть назвать опцию "Игнорировать директивы препятствующие кешированию"?
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #92 : 01 марта 2007, 23:13:33 »

Rick
Цитировать
Похоже ты ошибаешься.
В чем именно? Не понял.
Сообщить модератору   Записан
Дем
Постоялец
***

Репутация: +6/-3
Offline Offline

Сообщений: 167



« Ответ #93 : 03 марта 2007, 13:43:26 »

1) ИМХО, будет логичней перенести это опцию в заголовок списка "запись в кеш" (как и предыдущие две "не сохранять файлы более/менее") - так как она относится именно к записи в кеш.
2) при введении индекса - хранить в нём флаг о наличии в заголовке no-cache и по выбору пользователя обновлять/не обновлять (последнее - для автономного режима, например)
Сообщить модератору   Записан
Страниц: 1 ... 3 4 [5]  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: