In <NDBBKELKEOABEBHDHJKLCEFCCCAA.alexei@xxxxxxxxxx> BeerBong (alexei@xxxxxxxxxx) wrote:
B> Ладно, попробуем спросить иначе...
B> По поводу того что не в apache-rus, такое ощущение что этот список рассылки
B> имеет больше подписчиков, все таки темы более общие и вопрос может затронуть
B> конфигурацию не только ApacheRus непосредственно, к тому же русский Апачи
B> можно настроить один раз и больше не возвращаться к этому вопросу долгое
B> время и следовательно не обращать внимание на письма с этим связанные, так
B> что сорри, если что.
B> Ok! На HTTP/1.0 не получится забить. Плодить 20 портов все равно неохота, к
B> тому же у нас есть "продвинутые" кастомеры которые в своих конторах
B> запретили на файрволах все порты кроме известных и про всякие 8080-8100 они
B> и слыхом не слыхивали... К примеру, идем на тот же www.design.ru в гости к
B> Константину Моршневу. Никаких тебе Expires: никаких Cache-control: Есть
B> Vary: user-agent
Все. Этого достаточно. Squid и MS IE раегируют на Vary однозначно: когда-нибудь
мы типа это за'implement'им, а пока отключим кеширование от греха подальше...
Кнопка Back перестает работать и т.д. Им ПОФИГУ -- что именно ты выдал в Expires.
Они его не анализируют. Важен сам факт его наличия.
B> Понятно, что такие запросы кешироваться будут и они выдаются в кодировке
B> которая нужна пользователю в зависисмости от Юзер-Агента на одном порту.
Кешироваться они будут в достаточно ограниченных объемах. А если попадется
старый Squid (или Apache's proxy AFAIK), который про Vary не знает, то начнется
игра "угадайте кто". Навиделся я и таких site'ом :-(( С кеширующим web-сервером
на переднем плане и перекодирующим на втором. Где первый кешировал ответы от
второго и выдавал их в той кодировке "в какой получилось". Не, Shift-Reload
все лечит, конечно, но этого ли мы хотим ?
B> Вроде как все работает нормально (я смотрел через одну проксю и на
B> виндоусе - win-1251 и на спарке - koi8-r).
Вот в том-то и дело, что ты посмотрел "через одну проксю". А их в природе
далеко не одна. И browser'ов -- не два и не три... А если еще учесть разные
версии...
B> Конечно есть мелкий минус что при переключении кодировки уже на стороне
B> клиента - выдается каша (заголовка text/html; charset=... - нету),
То есть ты предлагаешь вот ту самую игру "угадайте кто" ? Спасиба тебе. Добрый
ты. Заботишься, чтобы мне не скучно было. Но я ведь не поиграть в игры к тебе
на site зашел, а, наверное, для каких-то других целей (а даже если и поиграть,
то вряд ли я хочу играть "в кодировки"). BTW если ты не выдаешь в заголовке
charset, то твой документ ОБЯЗАН БЫТЬ в iso-8859-1 ! Все остальное -- нарушение
стандарта и только путает всех.
B> и то что сколько броузеров столько и копий кеша будет,
ЧЕРТА С ДВА !!!! Старые Squid'ы проигнорируют Vary и устроят тебе все радости
жизни, новые не сделают НИ ОДНОЙ копии в кеше ибо им что Vary (любой!), что
Expires в 1970 году -- один черт.
B> но это мелочи по сравнению с геморроем, который возникает с кучей демонов
B> на одной машине, на которой хостятся "продвинутые" кастомеры.
Я понял. Тебе хочется переложить гемор со своих плечей на плечи посетителей
твоего site'а. Остроумное решение, я бы сказал... Не, оно, канечна: У ТЕБЯ
гемора станет меньше.
B> Подскажите как такую конфигурацию в жизнь воплотить ?
B> Вместо Expires & Cache-control - Vary.
B> Как добавить Vary: user-agent ? Просто для всех файлов типа text/html ? Или
B> там свои тонкости ?
B> Кстати mod_proxy понимает этот заголовок, если нет, кеширование отключить
B> надо будет на фронт-енде, как я понимаю...
B> Поделитесь опытом, плиз.
Опыт РЕЗКО отрицательный. Уж лучше "честный" Expires, чем "русская рулетка" с
Vary ... Уж лучше сходить к ache на http://www.nagual.pp.ru/~ache и почитать
как настроить сервер, чтобы он все честно выдавал в koi8-r (или windows-1251),
чем ЭТО ...
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"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.