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