У меня есть апплет, который загружает изображения через http-соединение, используя URLConnection. Я устанавливаю setUseCaches(true) для всех подключений, но по-прежнему не вижу поведения кеширования. Заголовки HTTP моего изображения имеют разумные настройки кеша. Если вы посмотрите на ошибку 4528599, то увидите довольно загадочное утверждение:
Текущая версия (1.3.1) подключаемого модуля Java проверяет кэш браузера только на наличие файлов, имена которых заканчиваются на .jar или .class. Мне сказали, что для Java Plug-In 1.4 кэш браузера будет проверяться на наличие следующих типов файлов: .class, .jar, .zip, .jpg, .gif, .wav, .au.
Конечно, это было помечено как ИСПРАВЛЕНО для 1.6, но даже в 1.6 я не вижу кэширования. Мои изображения представляют собой файлы PNG, и в некоторых случаях они не имеют расширения .png. Я не вижу кэширования.
В отчете об исправлении ошибок говорится об Unified Download Engine 1.6, но Google, похоже, мало что знает об этом.
Это должно работать, или это просто еще одна сломанная «функция» Sun. Есть ли способ или обходной путь, где я могу заставить свой апплет загружать изображения PNG из кеша браузера? Я бы предпочел не реализовывать свои собственные....
ОБНОВЛЕНИЕ: кэширование, похоже, связано с ResponseCache а> реализация. Дополнительную информацию о как это работает. Последняя строка говорит:
В Java 2 Standard Edition нет реализации кэширования URLConnection по умолчанию. Тем не менее, Java Plugin и Java WebStart предоставляют его из коробки.
Поэтому мне кажется, что на самом деле возникает вопрос: как на самом деле работает реализация Java Plugin ResponseCache? В чем разница между v1.4/v1.5/v.16
У кого-нибудь есть идеи?