18 февраля 2002 г. в 19:54 Вы писали:
IS> Что в access_log ? Интересует %{accel}x
IS> Игорь Сысоев
Итак, постараюсь привести как можно больше информации. Завожу новый
файл QQQ.txt на backend-е. На запрос этого файла напрямую с backend-а
он выдает следующее (возможно, важно то, что expires установлен в текущее
время + одни сутки):
-------------------------
HTTP/1.1 200 OK
Date: Tue, 19 Feb 2002 06:34:07 GMT
Server: Apache/1.3.22 (Unix) PHP/4.1.0 mod_fastcgi/2.2.12 rus/PL30.9
Set-Cookie: urbid=PHHx3wABLSADBAUC9stFCUOIavs=; path=/; expires=Wed, 19-Feb-03
06:34:07 GMT
Set-Cookie: Apache=X.X.X.X.770881014100447596; path=/
Cache-Control: max-age=86400
Expires: Wed, 20 Feb 2002 06:34:07 GMT
Last-Modified: Tue, 19 Feb 2002 06:09:15 GMT
ETag: "26a8f0-9-3c71ec0b-windows-1251"
Accept-Ranges: bytes
Content-Length: 9
Connection: close
Content-Type: text/plain; charset=windows-1251
проверка
-------------------------
Запрашиваю чере frontend в первый раз:
X.X.X.X - - [19/Feb/2002:11:38:40 +0500] "GET /QQQ.txt HTTP/1.1" 200 9
accel:MISS/-/-/- 200/CTL/86400 0 2/553/553 -
Запрашиваю вторично:
X.X.X.X - - [19/Feb/2002:11:39:52 +0500] "GET /QQQ.txt HTTP/1.1" 304 -
accel:HIT/-/-/- HIT/-/- - -/-/- -
Меняю документ на backend-е. Жму reload в браузере:
X.X.X.X - - [19/Feb/2002:11:41:05 +0500] "GET /QQQ.txt HTTP/1.1" 304
accel:HIT/-/-/- HIT/-/- - -/-/- -
При этом AccelIgnoreNoCache Off! Т.е. по идее документ уже должен быть
перезапрошен с backend-а...
Запрашиваю c _INVALIDATE:
X.X.X.X - - [19/Feb/2002:11:42:52 +0500] "GET /QQQ.txt_INVALIDATE HTTP/1.1" 200
13
accel:PASS/-/-/- 200/-/- 0 2/511/511 -
Получаю в браузере новую версию.
Снова запрашиваю без _INVALIDATE:
X.X.X.X - - [19/Feb/2002:11:44:50 +0500] "GET /QQQ.txt HTTP/1.1" 304 -
accel:HIT/-/-/- HIT/-/- - -/-/- -
Опять старое содержимое.
Добавляю в конфиг frontend-a блок:
<Location "/QQQ.txt">
AccelNoCache On
</Location>
Рестартую. Жму reload в браузере:
X.X.X.X - - [19/Feb/2002:11:47:54 +0500] "GET /QQQ.txt HTTP/1.1" 200 13
accel:PASS/-/-/- 200/-/- 0 2/511/511 -
Получаю новую версию. :-???? [...пауза на несколько минут,
размышления, эксперименты...]
Эврика! Оказывается, было написано так:
<Location "/robots.txt">
AccelNoCache On
</Location>
<Location ~ "\.(js|css|txt)$">
AccelIgnoreNoCache Off
AccelNoCache Off
</Location>
Как выяснилось, вторая директива Location переопределяла первую и для
robots.txt действовало AccelNoCache Off. Сейчас я поменял их местами
и robots.txt кешироваться перестал. Прошу прощения - в этом пункте
mod_accel оказался не при чем.
Однако то, что описано выше, все же очень похоже на баг.
С уважением,
Сергей Герштейн
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =