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

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

У кого-нибудь есть опыт с этим подходом?

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

Ответы [ 5 ]

20 голосов
/ 27 мая 2009

Pro:

Многие браузеры выделяют только два сокета для загрузки ресурсов с одного хоста. Таким образом, если 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 (соответствует любому поддомену). В противном случае в браузере появится предупреждение о том, что страница содержит смешанный защищенный и небезопасный контент.

8 голосов
/ 27 мая 2009

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

5 голосов
/ 27 мая 2009

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

3 голосов
/ 27 мая 2009

Плюсы:

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

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

Минусы:

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

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

2 голосов
/ 27 мая 2009

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

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

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

...