Hi!
alr> очень интересную штуку. В HTTP/1.1 есть заголовок
alr> Cache-Control. При _ответе_ сервера он может содержать
alr> значение "private", что там описывается как "Общим
alr> кэшем не кэшируется". По-моему, это означает, что документ
alr> не должнен застревать в транзитных кэшах, а вот в
alr> локальном как-раз может ? Не за это ли мы тут так упорно
alr> боремся последнюю неделю/полторы ?
Для случая HTTP/1.1 и так все хорошо - если пришедший запрос - HTTP/1.1,
то Expires не выдается, выдаются ETag (включающий в себя имя кодировки) и Vary
в котором написано какие заголовки клиента принимали участие в выборе контента
(Etag и Vary, впрочем, всегда выдаются).
И HTTP/1.1 совместимый кэш способен сам решить - отдать клиенту содержимое
кэша, или нет.
Если же запрос пришел по HTTP/1.0 (как он и придет, если клиент - не MSIE 4),
то не выдавать Expires нельзя. Т.е. конечно, по заголовкам _иногда_ можно
сказать, что запрос идет через Squid. Но есть ли кроме squid в цепочке что-то
еще проксируещее - сказать нельзя в общем случае. Выходит, для HTTP/1.0-запроса
Expires нужен.
С уважением,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.