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]

Re: [apache-rus] Vary (кажись, в самое время :)



> From apache-rus-dev-null@apache.lexa.ru Sat May 22 13:35:17 1999
> To: apache-rus@lists.lexa.ru
> From: Alex Tutubalin <lexa@lexa.ru>
> Subject: [apache-rus] Vary (кажись, в самое время :)
> Date: Sat, 22 May 1999 13:20:31 +0300
>
> Привет,
>
>  alr> задача: имеются документы, которые нужно представить  вразличных
>  alr> кодировках и кодировка зависит от accept-charset, user-agent и каких-либо
>  alr> других косвенных признаков, позволяющих выяснить предпочтения клиента в
>  alr> кодировках. следует сделать возможным кэширование этих документов, но
>  alr> исключить возможность "залипания" страниц с одной кодировкой в кэше. в
>  alr> качестве кэше имеется в виду squid.
> Задача не решается.
>
> Отцы, вы что, все с ума посходили ? Я уже много раз приводил один и тот же 
> пример, суть которого сводится к тому, что:
>  - если мы не выдаем Vary: что-то, то документ таки залипнет в кэше
>  - если он залип в кэше, то следующий клиент, у которого стоит заголовок
>    Что-То: value
>    получит этот документ из кэша, а не с сервера. И, соответственно, с
>    неправильным содержимым.
>
> Если Что-То: - это Accept-Language, то перестанет обрабатываться выбор
> языка, если Accept-Charset, то выбор кодировки по этому заголовку.
>
> Ну не бывает чудес. Если мы хотим кэшировать server-negotiated документы,
> то для части пользователей они будут negotiated неправильно т.к. отданы
> будут из кэшей, а не с сервера. С редиректами та же фигня. Если клиент
> пришел с Accept-Charset: ibm866  на port 8100 (подразумеваем koi8),
> то кэш отдаст ему документ в koi8, а не редирект на другой порт (что сделал бы 
> сервер).

Я же без всякой путаницы сказал - на перекодировочных портах/урлах
charset-negotiation не нужно, если человек на него заполз, значит
он уже знает, что ему нужна именно эта требуемая кодировка. На них
accept-charset, user-agent с последующим редиректом надо-бы даже
запретить, чтобы более полно соотвествовало RFC :)

А вот если он забирается на основной порт, скажем, 80 - его редиректит
туда, где есть требуемая кодировка. Как я уже сказал, Moved Temporary не
кэшируются. И пусть на 80 порту отдается и Vary и expired и все, что угодно.
На нем есть nagotiation, на других портах - нет, только железно
установленная кодировка.

>
> У меня такое впечатление, что на эту тему я общаюсь с какими-то роботами.
> Ну поэкспериментируйте с тем же сквидом и вручную сделанными запросами, если
> объяснения не доходят. Извините если кого обидел.
я поэкспериментировал. неужели я буду сообщать кому-то непроверенную
информацию?

> RFC2068 - нарушает.
пункт, пожалуйста :)



Sincerely your,
	Cyril A. Vechera

email:cyril@piter.net          ---------              http://sply.piter.net






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

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