Vladimir Pastukhov <vol@escortcorp.com> wrote:
> Alex Tutubalin wrote:
> > if (httpHeaderHas(hdr, HDR_VARY))
> > return 0;
> Гм, у меня закомментарено с 1.x.не-помню :)
>
> > Вот я и думаю - может Vary не выдавать если запрос был не HTTP/1.1
А что, Squid 2.х кэширует ответы с Vary, если запрос был HTTP/1.1?
Вообще, читаю я rfc2068, и вижу там такое в секции 12.1:
HTTP/1.1 origin servers MUST include an appropriate Vary header field
(section 14.43) in any cachable response based on server-driven
negotiation. The Vary header field describes the dimensions over
which the response might vary (i.e. the dimensions over which the
origin server picks its "best guess" response from multiple
representations).
HTTP/1.1 public caches MUST recognize the Vary header field when it
is included in a response and obey the requirements described in
section 13.6 that describes the interactions between caching and
content negotiation.
Короче, Апач MUST его выдавать, да? Ну, сквид его и распознает,
раз уж он тоже MUST... :(( Получается, как если снести Vary, то
закон обязательно нарушается.
> Может, если в Via: Squid/[12]? Интересно, хоть какой-нибудь
> прокси этот Vary понимает? Netcache вроде тоже не кэшировал
> (правда, давно было).
Squid-1.2.22 у меня кэширует. По-моему, это последний из серии 1.2.x.
Просмотр исходников показывает, что такого свинства там действительно нет.
> Может, какую-нибудь опцию типа CharsetProxyNoVary?
Поддерживаю. Хоть это и "неправильно" с точки зрения чистоты HTTP/1.1.
> > p.p.s. Выдача Russian Apache, даже без Expires не кэшируется squid'ом
> > :)
> Зато клиентами кэшируется :)) (если без Expires).
> За что и боролись :)
За клиента не имеет смысл бороться. IMHO.
--
Eugene Berdnikov
PS. Кстати, надо еще посмотреть, как Squid-2.x.x oбрабатывает ETag.
Там вроде тоже были какие-то плюшки...
"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.