#iis #imageresizer #if-modified-since
#iis #средство обработки изображений #если-изменен-с
Вопрос:
Я пытаюсь выяснить, почему imageresizer возвращает «HTTP / 1.1 200 OK», а не «HTTP / 1.1 304 Not Modified» код состояния при выполнении If-Modified-Since, в отличие от запроса без imageresizer, который возвращает «HTTP / 1.1 304 Not Modified» как исключенный.
Я использую IIS только с модулем изменения размера imageresizer и синтаксисом команды, как показано ниже:
curl -I —заголовок ‘Если-изменено-с момента: ФОРМАТ ДАТЫ-ЗДЕСЬ’http://x.x.x/x.jpg
Спасибо, Ярон
Комментарии:
1. Вы можете попробовать использовать отслеживание неудачных запросов , чтобы увидеть, есть ли сообщение об ошибке If-Modified-Since: ФОРМАТ ДАТЫ-ЗДЕСЬ, в файле журнала.
2. Установлен ли у вас плагин DiskCache?
Ответ №1:
Если у вас установлен плагин DiskCache, то будут указаны измененные даты, но фактическое обслуживание кэшированного файла делегируется StaticFileModule или любому другому HttpModule, который является следующим в очереди для обработки запроса. Сам ImageResizer не обрабатывает обслуживание. Это решение было принято для оптимизации пропускной способности запроса, поскольку StaticFileModule использует собственный код IIS для обслуживания файлов и сильно оптимизирован. Очень удивительно, что он не выполняет запросы if-modified-since.
В потоке изображений.СЕТЕВОЙ сервер, мы обрабатываем обслуживание, поэтому мы можем добавить поддержку для таких запросов. Мы уже поддерживаем ETags и If-None-Match, которые являются более точными и надежными, чем If-Modified-Since. Вы уверены, что не можете использовать более новый поток изображений.Вместо этого СЕТЕВОЙ сервер?
Комментарии:
1. Привет, Лилит, выполняет поток изображений. Поддержка СЕТЕВОГО сервера, если-изменен-с тех пор?
2. Он поддерживает If-None-Match, поэтому If-Modified-Since будет избыточным.