Привет,
AT> ycn>> cachable response that is subject to server-driven negotiation.
AT> ycn>> Doing so
AT>> Но мы то хотим добиться cacheable response, правильно ? Значит MUST.
ycn> Наоборот :)
Как это наоборот. Написано - для cacheable - MUST, для non-cacheable - SHOULD.
В обоих случаях - было бы неплохо
ycn> Если бы. Берём Ваш (не патченный мной) вариант. Ставим на верхний
ycn> приоритет ByPort (он, впрочем и так стоит) и заходим на порт 8081.
ycn> Получаем: GET /index.html HTTP/1.0
ycn> HTTP/1.1 200 OK
....
ycn> Vary: accept-charset
ycn> <html>
ycn> .....
ycn> т.е. (согласно rfc) _НЕ_ кэшируемый документ.
Мы получаем чистую правду - если зайти на порт 8081 и сказать
GET / HTTP/1.1
Accept-Charset: ibm866
то мы получим документ в ibm866 вне зависимости от установок приоритета выбора.
Обратите внимание, Vary: user-agent оно не ставит.
Вот еще раз цитата из RFC, которую вы же мне прислали:
---cut----
14.43
.....
An HTTP/1.1 server MUST include an appropriate Vary header field with any
cachable
response that is subject to server-driven negotiation. Doing so allows a cache
to
properly interpret future requests on that resource and informs the user agent
about the presence of negotiation on that resource. A server SHOULD include an
appropriate Vary header field with a non-cachable response that is subject to
server-driven negotiation, since this might provide the user agent with useful
information about the dimensions over which the response might vary.
-----end----
Я перевожу это как 'MUST для cacheable response' и 'SHOULD для non-cacheable'.
Хотим мы все-таки cacheable.
AT>> Сухой остаток. Нужно добавить Content-language/Content-Charset и
AT>> посмотреть что к чему ?
ycn> И убрать Vary, когда определение _не_ по agent ;-)
Vary: accept-charset ставится всегда, когда обработка Accept-Charset не
выключена. Я уже раз 5 это пишу :).
ycn> P.S. Из последней версии есть ещё один подарок - при работе с koi7 и _не_
ycn> "автоопределении" кодировки броузером начинаются _дикие_ торомоза. Но не
ycn> в апаче, а у броузера. А с PL25 такого не было. Что бы это могло быть?
ycn> (Если поставить автоопределение кодировки у msie эффект пропадает)
Не знаю. Я вообще не знаю что такое автоопределение кодировки у MS IE.
С уважением,Alex Tutubalin
--- GoldED 2.42.G1114+
"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.