powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
14 сообщений из 14, страница 1 из 1
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39962260
voodoos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сайте используется IHttpHandler отдающий клиенту картинки из БД. Что нужно сделать с хедерами чтобы броузер проверял запрашивал только хедера для таких картинок и если дата не изменилась, чтобы саму картинку не запрашивал у сервера, а брал ее со своего кеша?
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39962363
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39962445
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39962800
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voodoos
На сайте используется IHttpHandler отдающий клиенту картинки из БД. Что нужно сделать с хедерами чтобы броузер проверял запрашивал только хедера для таких картинок и если дата не изменилась, чтобы саму картинку не запрашивал у сервера, а брал ее со своего кеша?

Если у вас есть дата изменения картинки, то Cache-Control: private и в нужном формате Last-Modified .
Клиент начнёт передавать вам заголовок If-Modified-Since и вам надо будет сравнить его значение с датой последних изменений файла,
и если их не было, то вернуть ответ 304 Not Modified (с пустым телом), указывая, таким образом, чтобы браузер взял копию из кеша.
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39963142
voodoos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Дмитрий Мух#22140472]
voodoos
Если у вас есть дата изменения картинки


Да, есть, спасибо!

Спасибо всем, завтра буду разбираться…
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39964266
voodoos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил в хандлере вот такую хрень:

Код: c#
1.
2.
context.Response.AppendHeader("Cache-Control", "public");
context.Response.AppendHeader("Last-Modified", file.Updated.ToUniversalTime().ToString("r"));



Стал кешировать. Но при изменении даты обновления картинки берутся все равно из кеша… :(
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39964290
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voodoos,

как сделали, так и работает...
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39965484
voodoos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,

Я вообще так понял, что если уж клиенту отправляется Last-Modified, то при первой загрузке картинки это значение должно запоминаться, если оно при последующих запросах не меняется, то броузер должен брать картинку из кеша, но если оно в последующем меняется на большую дату, то в этом случае картинка должна браться не из кеша, а с сервера. Не так?
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39965511
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voodoos,

Last-Modified на принятие решения браузером, откуда брать картинку не влияет.
В общем, вы так и не почитали ссылки, которые вам кинули, а Дмитрий оказал вам по большему счёту медвежью услугу ))
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39965611
voodoos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
voodoos,

Last-Modified на принятие решения браузером, откуда брать картинку не влияет.
В общем, вы так и не почитали ссылки, которые вам кинули, а Дмитрий оказал вам по большему счёту медвежью услугу ))


Да, нужно признаться, что я действительно особо пока по ссылкам не читал, т.к. пока времени просто не было. )))

UPD: А как выясняется, я еще и пост Дмитрия невнимательно прочитал… )))))
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39965659
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voodoos
UPD: А как выясняется, я еще и пост Дмитрия невнимательно прочитал… )))))


Дмитрий даёт вам решение конкретного кейса, но вам желательно разобраться как это работает в целом, так как вы просто вслепую выполнили данные инструкции и не получили нужного результата, так как немного нехватает понимания сути.

Да, вы забыли про private, но всё же лучше почитать, это же как минимум интересно и полезно )
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39965730
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voodoos
Дмитрий Мух,

Я вообще так понял, что если уж клиенту отправляется Last-Modified, то при первой загрузке картинки это значение должно запоминаться, если оно при последующих запросах не меняется, то броузер должен брать картинку из кеша, но если оно в последующем меняется на большую дату, то в этом случае картинка должна браться не из кеша, а с сервера. Не так?

Очень странно вы поняли то, что я написал.

Повторю:
Клиент начнёт передавать вам заголовок If-Modified-Since и вам надо будет сравнить его значение с датой последних изменений файла,
и если их не было, то вернуть ответ 304 Not Modified (с пустым телом), указывая, таким образом, чтобы браузер взял копию из кеша.

По сути при последующем запросе за картинкой вас спросят: А менялся-ли файл после такой-то даты ( If-Modified-Since )?
Вы должны сравнить эту дату с датой последнего изменения файла.
И если он не менялся, то ответить: Нет, не менялся ( 304 Not Modified ).

Тогда браузер возьмёт его из кэша.

Иначе вы просто должны отдать файл и новую дату Last-Modified .
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39965733
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
voodoos,

Last-Modified на принятие решения браузером, откуда брать картинку не влияет.
В общем, вы так и не почитали ссылки, которые вам кинули, а Дмитрий оказал вам по большему счёту медвежью услугу ))



Надеялся, что человек за ответами на вопросы сходит в документацию.
И в очередной раз убедился, что так мало кто делает из молодых разработчиков.
Им подавай развёрнутое объяснение сразу и на первой странице.
...
Рейтинг: 0 / 0
Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
    #39976120
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю так:
<img src="image?"+дата />
Это всё кешируется, если такой даты нету - загружается.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как заставить броузер кешировать картинки выдаваемые клиенту хандлером из базы?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]