Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-rus] =?koi8-r?Q?=E5=DD=C5?= =?koi8-r?Q?_=D2=C1=DA?= =?koi8-r?Q?_=CF=C2?= Expires



> Date: Sat, 29 Aug 1998 19:30:38 +0400


Hi!


Я хотел бы вернуться к вопросу об Expires который выставляет mod_charset.

Я специально стал присматриваться к этой проблеме, и вот к чему пришел: 
Это самое вредное что получилось в обмен на автоматическое определение
кодировки. Но времена меняются, появились Netscape 4.x и IE4.x которые
без проблем работают в koi8-r и вроде им и не надо уже Useragent.
А mod_charset по умолчанию по прежнему ориентируется на старый софт.
И так как большинство администраторов оставляют конфиги по умолчанию,
то проблема Expires только разрастается. Последний пример -
www-koi8-r.rambler.ru - меня совсем доконал:
----------------------------------------------------------------
546% netcat www-koi8-r.rambler.ru 80
HEAD / HTTP/1.0
Host: www.rambler.ru
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
accept-charset: koi8-r

HTTP/1.1 200 OK
Date: Sat, 07 Nov 1998 14:54:26 GMT
Server: Apache/1.3.3 (Unix) Rambler/1.4 rus/PL26.5
Connection: close
Content-Type: text/html; charset=koi8-r
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Last-Modified: Sat, 07 Nov 1998 14:54:31 GMT
Vary: accept-charset
----------------------------------------------------------------
Я думаю это это не правильные пчелы, то есть сервер не прав.
Потому как я прошу koi8-r у сервера www-koi8-r.
Кстати, если accept-charset не стоит, то Expires: не ставиться!!!


> > > Имеется в виду тот порт на котором работает определение by Useragent ?
> > > Там всегда будет Expires. Мы же это обсуждали - невыдача Expires все еще мешает
> > > кэшам
> > Нет, в  Useragent в этой конфигурации стоит только для некоторых виндовых:
> > CharsetAgent windows-1251 "MSIE 3" "MSIE 2"
> > CharsetAgent windows-1251 (Win16; (Win95; (16-bit)
> Для кого бы оно не стояло, если charset - не URLencoded, а может быть
> выдан хоть кому-то по Useragent, то ответ не кэшируем. Смотрите сами  -
> пришел Netscape/X11 через кэш. Ответ кэширован. Следующий клиент
> с MSIE3 получит ответ уже из кэша, что не совсем то, что хочется.
> 
> > Может вся проблема в Accept-Charset? Алекс, ты проверял с ним?
> Accept-Charset обрабатывается хитро - если запрошенный charset
> не совпадает с тем, который был бы выдан без Accept, то ответ не кэшируется.
> Если совпадает - кэшируется. Если в определении Charset принимал участие
> User-agent, то не кэшируется никогда.
Смотри пример выше, что-то здесь не так.

> > 
> > И вроде уже говорилось что если charset совпадает с Default, даже
> > если через CharsetAgent, то Expires не ставить.
> Я тогда возражал ровно теми же аргументами. Default - это всего-лишь
> Last resort и все. Представьте вышеописанную ситуацию - MS IE 3.0 и
> Netscape/X11 ходят по-очереди к одному URL через кэш.
Хорошо представил, пришел к выводу, что если один читает в Default charset,
то другой должен сам ручками переключиться на свой!!!! Если конечно 
прокси не отличает 'Content-Type: text/html; charset=...'
Зачем же делать всем плохо, пусть уж только одному, даже более, как только он
хоть раз получит в не той кодировке, он сразу перейдет на свою!!!

С нашими линиями связи их всегда будет не хватать и лишний качь стоит
дороже любого авто определителя кодировки.

> Не хотите Expires - CharsetDisableForcedExpires On (или что-то в этом духе :)
Увы, я хочу, что бы мне как пользователю их не ставили :-(((((((((

Мои предложение следующие для будущих версий:
1. Убрать из Default конфига CharsetAgent (по крайне мере их
закомментировать) и поменять их влияние на Expires - только если

они меняют Charset (это может быть опция у CharsetDisableForcedExpires)

2. Отменить Expires у DefaultCharset.

3. Добавить в конфиг 'CharsetDisableForcedExpires On' для cgi-bin!!!!
Ведь с Expires вообще трудно работать через cgi-bin.

4. Более внимательно проверить работу Accept-Charset, а то может
оказаться, что он будет у всех клиентов. (По не проверенным данным
он будет и у IE5). Может имеет смысл сделать в основном 
варианте раскидывание по URL на основе Accept-Charset и CharsetAgent?

Наверно меня можно обвинить в нарушении совместимости версий, но
так ли это важно, если это будет отражено в Doc? Ведь по идеи 
Pentum II совместим с i8080 ;-)))))).

P.S. Алекс по моему у тебя тоже канал не Т3, посмотри сам к чему
приводит Expires!!!!
-- 
                            Best regards, Eugene Byrganov

  mailto:E.B.Byrganov@inp.nsk.su
  work - http://www.inp.nsk.su/





Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"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.