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