Khimenko Victor wrote:
>
> Как вы собираетесь при получении
> запроса и до обращения к серверу понять -- страница уже в кэше или нет ?
> Для этого нужно знать, какие поля входят в vary и никуда не денешься :-))
Это я абзацем ниже объяснил. Какие были сохранены - те, значит,
и используются.
> VP> Учитывая, что хэш md5(URL)->filename в сквиде представляет собой
> VP> примитивный однонаправленный список, в нем легко поиметь несколько
> VP> элементов с одинаковыми ключами (и так же легко просмотреть их, когда
> VP> придет следующий клиент). Остается только где-то сохранить клиентские
> VP> заголовки, а запихнуть их кроме как в url некуда. Если, конечно, мы
> VP> не хотим менять формат кэша; если хотим, то просто организуем для них
> VP> дополнительное поле.
> >> боюсь, будет весьма небольшим. Нет -- нужно для каждого URL'я дополнительно
> >> хранить Vary и несколько ответов сервера...
>
> VP> Конечно, нужно. Вопрос - как. И непонятно, что делать с ICP и HTCP.
>
> Завести еще одно поле.
Вы предлагаете хранить различные варианты ответов в одном файле или
в разных? Если в одном, то структуру кэша придется менять весьма и
весьма, а если в разных, то в каком месте вы собираетесь сохранять
список, полученный из Vary?
> А HTCP предусматривает обработку vary... Но, конечно,
> это еще больше усложняет задачу :-((
Я вообще сильно сомневаюсь в правильности поддержки сквидом HTCP
в данной части. В squid-users как-то шел разговор, что, дескать,
дергать хедеры из кэша при каждом TEST (или как там его) запросе -
слишком накладно, поэтому ну их нафиг. А проблема с ICP, по-видимому,
решается только полным отказом от его использования :(
To Alex: это оффтопик или еще нет?
--
Vladimir Pastukhov
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.