Разумно ли размещать файлы .css и .js на CDN? - PullRequest
5 голосов
/ 06 июля 2010

Кажется, что большинство людей используют CDN для размещения изображений и / или видео.Разумно ли размещать ваши js и css на cdn?

Ответы [ 5 ]

3 голосов
/ 06 июля 2010

Я верю в это. Однако, если любой из них генерируется динамически, вы захотите поместить относительно низкий ttl (время жизни) на файлы, чтобы CDN знал, что нужно извлекать свежие копии. Однако, если это не так, я думаю, что сбросить их на Amazon S3 было бы хорошо.

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

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

Например:

style.20111112.css
shoppingcart.20111113.js

Это устраняет необходимость иметь сверхнизкие значения ttl и очищать CDN кэшированных копий.

3 голосов
/ 06 июля 2010

Хотя в принципе это хорошая идея, всегда имеет резервную копию .

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

Например, с помощью jQuery вы можете получить лучшее из обоих миров с помощью этого фрагмента:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined')
    document.write(unescape("%3Cscript src='/scripts/jquery-1.4.2.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>

источник и дополнительная информация

1 голос
/ 22 сентября 2011

Да, но ... прежде чем поместить CSS и JS в CDN

Объедините все отдельные файлы CSS и сверните их - браузер не начнет отображать страницу, пока все они не будут загружены.

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

CDN дает вам пару выигрышей

  1. Снижение задержки
  2. Дополнительные имена хостов для загрузки с
  3. Есливы используете его прямо как домен без файлов cookie для статического контента.

В этой презентации есть примеры из реальной жизни, демонстрирующие эффективность различных оптимизаций - https://docs.google.com/present/view?id=0ASIJhpwrlBx6ZHA5emJmcF81MmM5Zzk3NmM0&authkey=COe29aAD&hl=en_GB (это не мое)

0 голосов
/ 25 октября 2011

Большинство ответов здесь написаны людьми без опыта CDN.

Если вы используете Akamai или одного из других крупных провайдеров CDN, вы обнаружите, что CDN попадают на ваш сайт для контента (таким образом, вы не «резервируете» свои данные), а затем кэшируете данные, пока не аннулируете их.

CDN, такой как Akamai, будет иметь огромное значение - если у вас нет пограничных серверов, распределенных по всему миру. Некоторые из наших клиентов в Германии сократили время загрузки страницы с 15 до менее 3 секунд.

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

0 голосов
/ 06 июля 2010

Я не думаю, что с этим что-то не так (особенно для javascript, если у вас несколько сайтов, использующих один и тот же код javascript).

...