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

StackOverflow https://stackoverflow.com/questions/913208

  •  06-09-2019
  •  | 
  •  

Вопрос

У нас есть несколько изображений и PDF-документов, которые доступны через наш веб-сайт.Эти изображения и документы хранятся в системе управления версиями и являются скопированным содержимым при развертывании.Мы рассматриваем возможность создания отдельного сервера изображений для размещения на нем наших стандартных изображений и документов PDF, что значительно сократит объем нашего пакета развертывания.

Есть ли у кого-нибудь опыт работы с таким подходом?

Мне интересно о каких-либо "подводных камнях", таких как проблемы с XSS и / или браузером, доставляющим контент из альтернативного поддомена?

Это было полезно?

Решение

Профессиональный:

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

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

Con:

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

Другие советы

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

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

Плюсы:

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

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

Минусы:

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top