|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/371.32 04 Jul 2000 17:55:26 To : alekseybb@mtu-net.ru Subject : Re: If-Modified-Since --------------------------------------------------------------------------------
>> amnr> А заодно еще вопрос, который собственно стоял в начале процесса бодания
>> amnr> с сабжем. Как проверить удаленный ресурс Интернета на модификацию (т.е.
>> amnr> была ли она ).
>>
>> HEAD /resource HTTP/1.1
>> Host: www.host.com
>> If-Modified-Since: Fri, 30 Jun 2000 13:07:36 GMT
>>
>> Замечено, впрочем, что squid при этом отдаёт
>>
>> HTTP/1.0 200 OK
>>
>> так что если у тебя transparent proxy или на том конце HTTP-акселератор, то
>> полезно будет сравнить с выданным при сём Last-Modified:. А вот на GET сквид
>> выдаёт HTTP/1.0 304 Not Modified. Hо зато если не 304, то выдаст весь
>> ресурс... Правда, возможно, ответ 304 на HEAD HTTP/1.0 недопустим, но с чего
>> бы?..
>>
>> Собственно Apache выдаёт в обоих случаях
>>
>> HTTP/1.1 304 Not Modified
>> Date: Mon, 03 Jul 2000 08:43:15 GMT
>> Server: Apache/1.3.12 (Unix) mod_perl/1.23 rus/PL29.4
>> Connection: close
>> ETag: "274e6-280e-395c68e9"
amnr> Приятно поговорить с умным человеком ;) Все сделал точно так. Получил
amnr> положительную реакцию ( подпись: Вассерман . Шутка ;) А вообще то
amnr> спасибо. Появилась некоторая ясность. Hо у меня вышло так: на запрос GET
amnr> все равно выдает весь контент но при этом указывает дату модификации, а
amnr> на запрос HEAD отвечает 304 - not modified и еще e-tag добавляет.
Значит, ресурс динамический и условия не проверяют. Хотя откуда тогда
Last-Modified? Разве что от "сейчас". Если ты спросил If-Modified-Since, то
любой уважающий себя сервер или прокси выдаёт тебе содержимое только если у
него Last-Modified неизвестно (как с типичным CGI) либо он действительно
modified since запрошенного тобой момента. Hу, либо ты момент неправильно
задал. А на HEAD другой обработчик (что-то вроде "если с нас только хедер
запросили, мы его DECLINED, а если контент, то бум отдавать, либо в случае
запроса HEAD обработчик вообще не пытается ничего проанализировать, что может
быть разумно, если генерация содержимого для анализа эквивалентна его
генерации для отдачи, и мы на то и обрабатываем HEAD, чтобы лишний раз не
копаться). У меня во всяком случае ответ на HEAD и GET отличается только
наличием содержимого в случае, когда оно таки modified since.
Проверка на выданном мной пиритовском URL (на котором ты сам можешь проверить)
подтвердила это.
--
Счастливо!
Ран.
--- ifmail v.2.14.os-p7-tma3
* Origin: MemoNet (2:5020/371.32@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/347312c35684.html, оценка из 5, голосов 10
|