Проблема короче:Как я могу подражать вперед на 404 в майке?
- GET на
pictures/pic.png
первым следует лечить Джерси, затем TOMCAT сам - Причины:
- кот знает, когда посылать
304 Not Modified
. (Ответ зависит от клиента) pic.png
может потребоваться обновление. Обновление должно происходить при вызове изображения.
- кот знает, когда посылать
Long Объяснение:
У меня есть изображение на данном URL. На картинке может понадобиться рефешок. Я хочу сделать проверку свежести во время запроса. Поэтому я закодировал ресурс трикотажа, обрабатывающий запрос на URL-адрес изображения. При необходимости он обновляет изображение в файловой системе. Я не хочу перекодировать кеширование mechansim, но полагаюсь на реализацию tomcat. Поэтому я хотел бы «отправить» запрос в цепочку внутренних обработчиков. Я пробовал return new Viewable(sb.toString());
, но просмотр - это не фотография. Какой тип возврата я могу использовать?
Я мог бы разместить конкретную картинку на другом URL-адресе и отправить 307 (временный переадресация). Всегда посылать это как ответ кажется странным для меня.
Возможно, решение, имеющее обновление по методу «GET», ошибочно по дизайну. Возможно, метод «PUT»/«POST» должен обновить изображение, и GET всегда должен обрабатываться tomcat.
Почему возникает вопрос под названием «Как я могу подражать на 404 в майке?». Функция com.sun.jersey.config.feature.FilterForwardOn404
делает аналогичную вещь: если ресурс не может обрабатываться трикотажем, он пересылается через цепочку фильтров/сервлетов. Я думаю, моя проблема схожа с этим.
Связанные вопрос: How to return a PNG image from Jersey REST service method to the browser
Изображение затем всегда transferered по проводам, не так ли ? Я хочу иметь «304 Not Modified» в качестве ответа, если изображение не будет изменено. Выполнение этой зависимости от состояния изображения на клиенте заставляет меня перепрограммировать кэширование HTTP, не так ли ?. Почему я должен, если tomcat уже это сделал? – koppor
Затем отправьте 304 с Response.ok(). Status (...), но я не думаю, что tomcat делает это кеширование ... Клиент должен получить это из кэша вниз или cdn. –
Я не хочу отправлять 304 или 307. Поэтому я спрашиваю, возможна ли эмуляция. Tomcat может отправлять 304. 304, однако, зависит от клиента ... – koppor