Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Азат Разетдинов 17.10.2006 21:08 / 17.10.2006 21:10
Если верить PAFу, возиться с сабжем не стоит, т. к. браузер сам всё сделает. Тем не менее Яндекс советует (да и Google рекомендует) обрабатывать If-Modified-Since.@ifModified[jCode] ^if($response:[last-modified] is date){ $response:last-modified[^dtf:to822[$response:last-modified]] } ^if( $env:REQUEST_METHOD eq GET && (!$response:status || $response:status == 200) && ($env:HTTP_IF_NONE_MATCH eq '*' || def $response:etag && $response:etag eq $env:HTTP_IF_NONE_MATCH || def $response:[last-modified] && $response:[last-modified] eq $env:HTTP_IF_MODIFIED_SINCE) ){ $response:status(304) }{ $result[$jCode] }Для корректной работы необходимо указать $response:last-modified и/или $response:etag в любом из методов @auto[]. Для last-modified лучше всего подходит $file.mdate или значение столбца timestamp в бд. В качестве etag может служить md5-отпечаток текста или тот же last-modified, заключённый в кавычки.
@main[] ^ifModified{ ... }См. также: