Преимущества и недостатки хостинга jQuery локально

61

В настоящее время мы вытаскиваем библиотеки jQuery и jQueryUI (и jQueryUI CSS) из CDN Google. Мне это нравится, потому что я могу назвать google.load("jquery", "1");
 и будет использоваться последний jQuery 1.x.x.

Теперь я должен вытаскивать библиотеки локально из-за безопасности.

Я рад вытащить их на месте, но мне интересно, какие из других преимуществ и ошибок нужно соблюдать?

  • 5
    о каких вопросах безопасности мы говорим?
  • 0
    Я не спрашивал. Я предполагаю, что это не столько безопасность, сколько попытка контролировать пропускную способность с помощью брандмауэра Gmail и т. Д.
Теги:
cdn

8 ответов

78
Лучший ответ

Основное преимущество использования CDN в том, что файлы можно загружать параллельно файлам, загруженным с вашего собственного сайта. Это уменьшает время ожидания на каждой странице. Таким образом, оборотная сторона этого является ловушкой локального размещения - увеличенная латентность. Основная причина этого заключается в том, что браузеры ограничены количеством подключений, которые они могут одновременно делать в одном и том же веб-домене. В IE6 это было по умолчанию для двух одновременных подключений к одному и тому же домену - общим для всех открытых окон IE! В IE8 + он улучшился, по умолчанию до 6, который встроен в FF/Chrome, но все же, если у вас много изображений, и вы не используете спрайты, вы будете испытывать тяжелую задержку.

Используя CDN, я бы всегда устанавливал версию библиотеки явно, а не получал последнюю. Это снижает риск появления новых версий вашего кода. Не очень вероятно с jQuery, но возможно.

Другим основным преимуществом использования CDN является снижение трафика на вашем сайте. Если вы платите за ГБ или находитесь на виртуальном сервере с ограниченными ресурсами, вы можете обнаружить, что общая производительность сайта увеличивается, а расходы на хостинг снижаются, когда вы обрабатываете часть своего контента в общедоступном CDN.

Убедитесь, что вы также прочитали другой ответ на этот вопрос by @revaxarts. Это очень хороший трюк

  • 5
    Еще одно преимущество установки версии библиотеки в явном виде - это то, что Google дает ей более длительное время кеширования. Например, указание 1.9.1 даст более длительное время жизни кеша, чем просто запрос 1.9 (поскольку может быть выпущена новая версия jQuery 1.9, но всегда будет 1.9.1 тот же самый).
119

Я всегда использую CDN от Google. Но на всякий случай он отключен:

<script src="/jquery.min.js"></script>
<script>!window.jQuery && document.write('<script src="/jquery-1.4.2.min.js"><\/script>')</script>

Захватите Google CDN jQuery и при необходимости откройте локальный

Edit: Если вам не нужно поддерживать IE6, а ваш сайт имеет частичное использование https, вы также можете удалить http:

<script src="/jquery.min.js"></script>
  • 4
    Кредит сообществу: stackoverflow.com/questions/1014203/…
  • 14
    XVIDEOS использует это решение сейчас: P
Показать ещё 2 комментария
15

Другие использовали преимущества. Ловушки:

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

  • Любой сайт, на который вы тянете <script>, может полностью контролировать работу пользователя на вашем сайте. Если Google чувствует зло, они могут положить что-то в свою копию jQuery, чтобы записывать ваши нажатия клавиш, украсть личную информацию со страницы, на которой вы собираетесь привязать свою базу данных веб-отслеживания, сделать сообщение "Я люблю Google!". комментарии к каждой форме и т.д.

Google, вероятно, на самом деле не собирается этого делать, но это фактор, который не под вашим контролем, и, конечно же, что-то беспокоиться о других сервисах script -hosting. Были случаи, когда скрипты статистики были скомпрометированы с загрузчиками вредоносных программ.

Прежде чем включать какой-либо script с третьей стороны - даже на одной странице вашего сайта - вы должны 100% доверять им все доступные для пользователя функции, видимые на этом имени хоста (включая функции администратора, связанные с веб-интерфейсом).

  • 18
    Google не сделал бы этого ... Я ЛЮБЛЮ GOOGLE ... не так ли? :-п
  • 1
    Отличные замечания по вопросам безопасности.
Показать ещё 2 комментария
11

Google CDN:

  • кэширование, хорошее для производительности, больше пользователей, которые, вероятно, уже имеют его, и он загружается параллельно
  • если когда-либо, heaver запрещает cdn идет вниз. вы ввернуты.
  • Если новая версия нарушает существующие плагины или сайт, вы узнаете об этом, возможно, слишком поздно.

Локально:

  • возможна разработка без подключения к сети.
  • все еще может получить некоторые преимущества в производительности за счет gzipping, в дополнение к минимизации
  • 5
    однако загрузка JQuery U от CDN Google сводится к минимуму. Еще один плюс к использованию cdn - это чище для вашей структуры каталогов :)
10

Я предпочитаю использовать свою локальную версию, потому что у меня нет контроля над тем, что они будут предоставлять. Например, я не хочу, чтобы мои пользователи пострадали от Google Analytics или чего-то подобного, потому что это юридическая проблема в моей стране.

6

Преимущества: (специально для Google CDN)

  • Загрузка файлов параллельно. Другие ответы касаются этого.
  • Серверы Google, скорее всего, смогут быстрее доставлять контент
  • Общие библиотеки и фреймворки могут уже находиться на пользовательском компьютере, поскольку кеш HTTP для CDN является универсальным для всех сайтов.
  • Ваша пропускная способность не должна идти в направлении обслуживания больших файлов библиотеки.
3

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

Производительность будет улучшена (хотя и довольно незначительно, если только ваш сайт не занят), и объем данных, которые ваши серверы должны передавать, будет уменьшаться (хотя jQuery не совсем то, что нужно загрузить) и т.д.

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

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

0

Для меня это действительно зависит от того, какой контроль вы хотите иметь. Если вы похожи на меня и должны развиваться на локальном хосте при работе и путешествиях. Наличие локальных файлов jquery лучше, чем их размещение в google или где.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню