|
|
|
Supreme Being
      
участник
Last Login: 02.07.2008 11:53
Сообщ.: 85,
Visits: 835
|
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.07.2008 11:53
Сообщ.: 85,
Visits: 835
|
|
| какой код нужно написать, чтобы в кэше клиента (не на сервере) сохранялись картинки?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.07.2008 11:53
Сообщ.: 85,
Visits: 835
|
|
| как можно кешировать информацию (и, особенно, картинки) на стороне клиента (не на сервере)?
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Браузер клиента принимает решение кешировать или нет полученный контент на основе http заголовков. Чаще всего это директивы Expires, Cache-Control, Pragma. На факт кешировании могут влиять также и другие заголовки: Last-Modified, E-Tag, If-Modified-Since и другие. Подробнее все это описано в спецификации протокола http 1.1 (rfc 2616). Таким образом вопрос сводится к тому как заставить сервер отправлять эти заголовки при запросе картинок. Если картинки выдаются непосредственно IIS-ом (чаще всего это так и есть), то в можно в свойствах папки где лежат картинки выставить параметр "Expire after 1 Day" или другой более подходящий тебе (это делается на закладке HTTP Headers). Если картинки у тебя смешаны с другими файлами, то возможно придется делать это изменение для каждого файла по отдельности. Если картинки генерируются на лету через ASP.NET или используется wild-card mapping (когда запросы ко всем файлам на сервере проходят через ASP.NET), то устанавливать заголовки нужно с помощью програмного кода. Делать это можно в обработчиках событий global.asax (например, BeginRequest) или в коде отдельных страниц. Для этого лучше использовать методы поля Response.Cache (класс HttpResponse в справке) или методом AppendHeader того же класса. P.S. И не надо, пожалуйста, постить одинаковые сообщения в разные темы. Это называется cross-постингом и не приветствуется ни на одном форуме.
|
|
|
|