In <37499D02.6D007A92@escortcorp.com> Vladimir Pastukhov (vol@escortcorp.com) wrote:
VP> Khimenko Victor wrote:
>>
>> VP> Сейчас для того, чтобы отключить обработку Accept-Charset, нужно плодить
>> VP> толпу виртуальных серверов, что совсем не есть "максимальное удобство для
>> VP> пользователей".
>>
>> Это сделано намерено. Alex про это уже писал. Но это возможно.
VP> Завяжем с этим, все равно без толку.
>> VP> Когда я раздумывал над этой проблемой, то хотел добавлять названия и
>> VP> содержимое тех хедеров, которые vary, в конец URL (разделяя каким-нибудь
VP> ...
>> Ха-ха. А как вы будет определять список полей, входящих в "Vary", когда к вам
>> пришел запрос ?
VP> Ха-ха. А зачем, интересно, это делать в момент, когда пришел запрос?
VP> Сквид сохраняет документ в кэш уже после получения заголовков от сервера
VP> (а как иначе? ведь ответ может быть не только 200, но и 3xx, и 4xx),
VP> т.е. к моменту формирования мета-данных содержимое Vary уже известно.
VP> По крайней мере, так мне показалось после беглого просмотра исходников.
Угу. А вот ЗАЧЕМ он "сохраняет документ в кэш" -- вы не задумывались ?
У кого-то сильно много места на винте ? Как вы собираетесь при получении
запроса и до обращения к серверу понять -- страница уже в кэше или нет ?
Для этого нужно знать, какие поля входят в vary и никуда не денешься :-))
VP> Учитывая, что хэш md5(URL)->filename в сквиде представляет собой
VP> примитивный однонаправленный список, в нем легко поиметь несколько
VP> элементов с одинаковыми ключами (и так же легко просмотреть их, когда
VP> придет следующий клиент). Остается только где-то сохранить клиентские
VP> заголовки, а запихнуть их кроме как в url некуда. Если, конечно, мы
VP> не хотим менять формат кэша; если хотим, то просто организуем для них
VP> дополнительное поле.
VP> Но еще раз - это впечатления после беглого просмотра исходников.
>> Или вы будете каждый раз посылать запрос HEAD ? Тогда ускорение,
>> боюсь, будет весьма небольшим. Нет -- нужно для каждого URL'я дополнительно
>> хранить Vary и несколько ответов сервера...
VP> Конечно, нужно. Вопрос - как. И непонятно, что делать с ICP и HTCP.
Завести еще одно поле. А HTCP предусматривает обработку vary... Но, конечно,
это еще больше усложняет задачу :-((
"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.