Скажем, у меня есть веб-приложение, которое использует jQuery. Рекомендуется ли размещать необходимые файлы javascript на моих собственных серверах вместе с файлами моего веб-сайта или ссылаться на них в CDN jQuery (пример: http://code.jquery.com/jquery-1.7.1.min.js ) ?
Я вижу плюсы для обеих сторон:
- Если это на моих серверах, это на одну внешнюю зависимость меньше; если jQuery отказался или изменил структуру своего хостинга или что-то в этом роде, то мое приложение сломалось. Но я чувствую, что это случается не часто; там должно быть много небольших сайтов, делающих это, и команда jQuery не захочет их нарушать.
- Если это на моих серверах, это одна из внешних ссылок, которую кто-то может назвать проблемой безопасности
- Если на него ссылаются внешне, то мне не нужно беспокоиться о пропускной способности для обслуживания файлов (хотя я знаю, что это не так уж и много).
- Если на него ссылаются внешне, и я развертываю этот веб-сайт на множестве серверов, которым необходимо иметь свои собственные копии всех файлов, то это еще один файл, который я должен помнить, чтобы копировать / обновлять.
web-development
javascript
css
Мистер джефферсон
источник
источник
Ответы:
Вы должны сделать оба:
Начните с хостинга из CDN, такого как Google, потому что он, скорее всего, будет работать быстрее, чем ваш собственный сайт, и будет настроен на самое быстрое время отклика. Кроме того, любой, кто посетил страницу, которая ссылается на CDN, будет использовать свою кэшированную копию файла, поэтому им даже не придется повторно загружать копию, что делает первоначальную загрузку еще быстрее.
Затем добавьте резервную ссылку на ваш собственный сервер на случай, если CDN окажется недоступным (маловероятно, но безопасно и безопасно). Отступления относительно просты для понимания, но их необходимо настроить в соответствии с используемым сценарием:
Убедитесь, что вы
</script>
нигде не пишете внутри<script>
элемента, так как он закроет HTML-элемент и вызовет сбой скрипта. Простое исправление является использование обратной косой черты как побег:<\/script>
.Еще одна причина сделать оба:
Если вы выберете популярный CDN, маловероятно, что у него когда-нибудь будет простои, однако в далеком будущем (~ 18 месяцев с момента принятия закона Мура ), когда формат хостинга изменится, или будет изменен адрес, или Сеть размещена за платным доступом, или что-то еще, возможно, ваша ссылка больше не будет работать как есть. Если вы используете запасной вариант, то у вас будет немного времени, чтобы приспособиться к любому новому формату хостинга, прежде чем переходить на каждый созданный вами веб-сайт и изменять ссылки CDN.
Еще одна причина сделать оба:
Недавно я был поражен интернетом. Я смог продолжать локально работать над проектами, в которых я связывал локальные копии ресурсов сценариев, и быстро обнаружил, что существует ряд проектов, которым необходимо связать локальные копии.
источник
У меня был тот же вопрос, затем я прочитал эту статью, и меня продали на идее позволить Google разместить мою библиотеку jQuery.
В статье указаны основные преимущества размещения ваших библиотек в сети доставки контента Google (CDN):
Что касается двух ключевых моментов, которые вы назвали профессионалами для размещения своей собственной библиотеки, помните, что это Google поддерживает облачную версию, и Google знает, что они делают, и им можно доверять в том, что касается доступности и безопасности. Тем не менее, @zzzzBov делает очень хороший ответ в своем ответе на этот вопрос, где он рекомендует также хранить локальную копию библиотеки и использовать ее по умолчанию в маловероятном случае, когда версия CDN не будет доступна по любой причине.
источник
Лично я беру сигнал с http://html5boilerplate.com/
Это извлекает основной файл jQuery из Google, но если по какой-то причине он не загружается, следующая строка загружает его с вашего собственного сервера.
источник
https://
.Лучше использовать CDN, и, если это CDN от Google, тем лучше - как отметили @CFL_Jeff и @Morons.
Я добавляю этот ответ, чтобы указать на то, что часто упускается из виду при указании в другом месте, что позволяет избежать предупреждения о смешанном контенте . Рассмотрите возможность использования URL-адресов без протокола, например:
По-прежнему существуют некоторые проблемы с поддержкой использования URL-адресов без протокола, поэтому также внимательно изучите ответы на вопрос: Могу ли я изменить все мои ссылки http: // просто на //? на SO, но по крайней мере , попытаться обработать потенциальные предупреждения смешанного содержания в какой - то образом.
источник
Вы должны сослаться на это в Библиотеку API Google .
Основной причиной этого является ускорение загрузки страницы . Если ваш пользователь уже посетил другой сайт, ссылающийся на ту же библиотеку, он уже будет сохранен в кэше браузера и его вообще не нужно будет загружать .
источник
Я могу ошибаться, но реализация document.write перезаписывает все, что есть в DOM. Поскольку хорошей практикой является размещение файлов JavaScript в конце тела,
Я предлагаю следующий метод, основанный на предыдущих ответах:
источник
Я хотел бы добавить, что размещение локальной копии является наилучшей практикой, поскольку ни в одном из вышеперечисленных документов не указано ничего, связанного с безопасным положением, в соответствии с которым Geo Location и строгий белый список являются обязательными. Отсутствие локального размещения этого файла может привести к снижению уровня безопасности для ваших клиентов.
источник