Плюсы и минусы отдельного сервера изображений (например, images.mydomain.com)?

Оператор == проверяет, указывают ли две ссылки на один и тот же объект или нет. .equals() проверьте фактическое содержимое строки (значение).

Обратите внимание, что метод .equals() принадлежит классу Object (суперкласс всех классов). Вам необходимо переопределить его в соответствии с вашим требованием к классу, но для String оно уже реализовано и проверяет, имеет ли две строки одно и то же значение.

  • Случай 1
    String s1 = "Stack Overflow";
    String s2 = "Stack Overflow";
    s1 == s2;      //true
    s1.equals(s2); //true
    
    Причина: строка литералы, созданные без нуля, хранятся в пуле строк в области перментонов кучи. Таким образом, оба s1 и s2 указывают на один и тот же объект в пуле.
  • Случай 2
    String s1 = new String("Stack Overflow");
    String s2 = new String("Stack Overflow");
    s1 == s2;      //false
    s1.equals(s2); //true
    
    Причина. Если вы создаете объект String с использованием ключевого слова new, ему выделяется отдельное пространство в куче.
11
задан Eddie 26 May 2009 в 23:09
поделиться

5 ответов

Pro:

Многие браузеры выделяют только два сокета для загрузки ресурсов с одного хоста. Таким образом, если index.html загружается с www.domain.com и ссылается на 6 файлов изображений, 3 файла javascript и 3 файла CSS (все на www.domain.com), браузер будет загружать их 2 за раз с другая блокировка, пока сокет не освободится.

Если вы перенесете 6 файлов изображений на отдельный хост, скажем, images.domain.com, вы получите два дополнительных сокета, предназначенных для загрузки ваших изображений. Это распараллеливает процесс загрузки ресурсов, поэтому теоретически ваша страница может отображаться в два раза быстрее.

Против:

Если вы используете SSL, вам потребуется либо получить дополнительный SSL-сертификат для одного хоста для изображений. domain.com или подстановочный SSL-сертификат для * .domain.com (соответствует любому субдомену).

21
ответ дан 3 December 2019 в 01:34
поделиться

Кроме того, с другим доменом вы не будете отправлять файлы cookie с каждым запросом. Это может повысить производительность.

8
ответ дан 3 December 2019 в 01:34
поделиться

Еще одна вещь, о которой еще не упоминалось, - это то, что вы можете использовать разные веб-серверы для обслуживания различных типов контента. Например, ваш статический контент может обслуживаться через lighttpd или nginx, при этом динамический контент по-прежнему обслуживается через Apache.

5
ответ дан 3 December 2019 в 01:34
поделиться

Плюсы:

-балансировка нагрузки

-изолирование другой функциональности

Минусы:

-больше работы (при создании страницы на основном сайте у вас будет для поддержки ресурсов на отдельном сервере)

Такие вещи, как XSS, - это проблема кода, не очищающего ввод (или вывод, если на то пошло). Единственная проблема, которая может возникнуть, это если у вас есть файлы cookie, специфичные для субдомена, которые используются для аутентификации ... но это действительно тривиальное решение.

3
ответ дан 3 December 2019 в 01:34
поделиться

Если вы обслуживаете HTTPS и обслуживаете изображение из HTTP-домена, вы получите всплывающие предупреждения системы безопасности браузера, когда вы его используете.

Итак, если вы используете HTTPS, вам нужно будет купить HTTPS для своего домена изображений. Хорошо, если вы не хотите чертовски раздражать своих пользователей :)

Есть и другие способы обойти это, но это не входит в рамки этого ответа - это было просто предупреждением!

2
ответ дан 3 December 2019 в 01:34
поделиться
Другие вопросы по тегам:

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