Что я должен сделать для создания довольным, такие как изображения подаваемый по HTTPS, который будет кэшироваться клиентский?

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
6
задан Steve McLeod 23 October 2008 в 09:32
поделиться

7 ответов

При обслуживании страницы по https затем, необходимо будет служить всем включенным статическим или динамическим ресурсам по https (или от того же домена или от другого домена, также по https) для предотвращения предупреждения системы безопасности в браузере.

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

Сказав все относительно это существуют вещи, которые можно сделать для улучшения cachability для активов SSL в единственной установке браузера. Для начала, удостоверьтесь, что все Вы, которых активы имеют разумный, Истекаете и заголовки Управления Кэша. Если кот сидит позади апача, затем используют mod_expires для добавления их. Это избежит браузера, имеющего необходимость проверять, изменилось ли изображение между страницами

<Location /images>
   FileEtag none
   ExpiresActive on
   ExpiresDefault "access plus 1 month"
</Location>

Во-вторых, и это характерно для MSIE и Apache, большинство апачских конфигураций ssl включает эти строки

SetEnvIf User-Agent ".*MSIE.*" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0

Который отключает проверку активности для ВСЕХ агентов MSIE. По моему скромному мнению, это слишком консервативно, последние браузеры MSIE, которые будут иметь проблемы с помощью SSL, были 5.x и неисправленные версии 6,0 пред SP2, оба из которых являются очень редкими теперь. Следующее более снисходительно и не отключит сообщения проверки активности при использовании MSIE и SSL

BrowserMatch "MSIE [1-4]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [5-9]" ssl-unclean-shutdown
10
ответ дан 8 December 2019 в 13:03
поделиться

Некоторые браузеры будут кэшировать содержание SSL. Firefox 2.0 + не кэширует ресурсы SSL на диске по умолчанию (для увеличенной конфиденциальности). Firefox 3 + не кэширует их на диске, если заголовок Кэша-control:public не появляется.

Так устанавливает Истекание: заголовок правильно и Кэш-control:public. например.

<Files ~ "\.(gif|jpe?g|png|ico|css|js|cab|jar|swf)$">
        # Expire these things
        # Three days after access time
        ExpiresDefault  "now plus 3 days"
        # This makes Firefox 3 cache images over SSL
        Header set Cache-Control public
</Files>
5
ответ дан 8 December 2019 в 13:03
поделиться

75 изображений походят на много. Если это - много маленьких изображений, существуют способы связать много изображений как один, Вы могли бы видеть, можно ли найти библиотеку, которая делает это. Также можно, вероятно, вынудить изображения кэшироваться в чем-то как механизмы Google.

2
ответ дан 8 December 2019 в 13:03
поделиться

Первый ответ корректен, что ничто не кэшируется при использовании HTTPS. Однако при создании веб-страницы можно рассмотреть ссылку на изображения их отдельным URL. Таким образом, можно указать изображения как происходящий из источника HTTP, и они (вероятно), будут cache'd браузером.

-1
ответ дан 8 December 2019 в 13:03
поделиться

Если многие из этих 75 изображений являются значками или изображениями, которые появляются на каждой странице, вы можете использовать CSS-спрайты для радикального уменьшите количество HTTP-запросов и, следовательно, загрузите страницу быстрее:

http://www.alistapart.com/articles/sprites/

4
ответ дан 8 December 2019 в 13:03
поделиться

Содержание, подаваемое по Подключению HTTPS никогда, не кэшируется в браузере. Вы не можете делать с этим много.

Обычно, изображения на Вашем веб-сайте не очень чувствительны и вручены по HTTP по этой самой причине.

-1
ответ дан 8 December 2019 в 13:03
поделиться

Возможно, можно ли добавить дополнительный сервер/субдомен, который предоставляет изображения без https?

-1
ответ дан 8 December 2019 в 13:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: