Преимущества и недостатки хостинга jQuery локально
В настоящее время мы вытаскиваем библиотеки jQuery и jQueryUI (и jQueryUI CSS) из CDN Google. Мне это нравится, потому что я могу назвать google.load("jquery", "1");
и будет использоваться последний jQuery 1.x.x.
Теперь я должен вытаскивать библиотеки локально из-за безопасности.
Я рад вытащить их на месте, но мне интересно, какие из других преимуществ и ошибок нужно соблюдать?
Ответы
Ответ 1
Основным преимуществом их наличия в CDN является то, что файлы можно загружать параллельно с файлами, загруженными с вашего собственного веб-сайта. Это уменьшает задержку на каждой странице. Итак, с другой стороны, это ловушка локального хостинга - увеличенная задержка. Основная причина этого заключается в том, что браузеры ограничены по количеству подключений, которые они могут одновременно устанавливать к одному и тому же веб-домену. В IE6 по умолчанию было установлено 2 одновременных подключения к одному домену, которые использовались всеми открытыми окнами IE !! В IE8+ он улучшен, по умолчанию 6, что соответствует FF/Chrome, но, тем не менее, если у вас много изображений и вы не используете спрайты, вы будете испытывать большую задержку.
Используя CDN, я всегда устанавливал версию библиотеки явно, а не получал последнюю версию. Это снижает риск новых версий, нарушающих ваш код. Не очень вероятно с jQuery, но возможно.
Другим основным преимуществом использования CDN является снижение трафика на вашем сайте. Если вы платите за ГБ или находитесь на виртуальном сервере с ограниченными ресурсами, вы можете обнаружить, что общая производительность сайта увеличивается, а затраты на хостинг снижаются, когда вы переносите часть своего контента на общедоступный CDN.
Убедитесь, что вы также прочитали другой ответ на этот вопрос @Xaver. Это очень хороший трюк
Ответ 2
Я всегда использую CDN (Сеть доставки контента) от Google. Но на всякий случай это офлайн:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>!window.jQuery && document.write('<script src="jquery-1.4.2.min.js"><\/script>')</script>
Захватите Google CDN jQuery и откройте его, если необходимо
Редактировать: если вам не нужна поддержка IE6 и ваш сайт частично использует https, вы также можете удалить http:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
Ответ 3
Другие использовали преимущества. Ловушки:
-
Если вы включаете только контент с вашего собственного сервера, тот один сервер, который должен быть запущен, а не заблокирован брандмауэрами и т.д., чтобы ваш сайт работал. Отвлеките script от стороннего производителя и теперь два сервера, которые нужно запустить и разблокировать, чтобы ваш сайт работал.
-
Любой сайт, на который вы тянете <script>
, может полностью контролировать работу пользователя на вашем сайте. Если Google чувствует зло, они могут положить что-то в свою копию jQuery, чтобы записывать ваши нажатия клавиш, украсть личную информацию со страницы, на которой вы собираетесь привязать свою базу данных веб-отслеживания, сделать сообщение "Я люблю Google!". комментарии к каждой форме и т.д.
Google, вероятно, на самом деле не собирается этого делать, но это фактор, который не под вашим контролем, и, конечно же, что-то беспокоиться о других сервисах script -hosting. Были случаи, когда скрипты статистики были скомпрометированы с загрузчиками вредоносных программ.
Прежде чем включать какой-либо script с третьей стороны - даже на одной странице вашего сайта - вы должны 100% доверять им все доступные для пользователя функции, видимые на этом имени хоста (включая функции администратора, связанные с веб-интерфейсом).
Ответ 4
Google CDN:
- кэширование, хорошее для производительности, больше пользователей, которые, вероятно, уже имеют его, и он загружается параллельно
- если когда-либо, heaver запрещает cdn идет вниз. вы ввернуты.
- Если новая версия нарушает существующие плагины или сайт, вы узнаете об этом, возможно, слишком поздно.
Локально:
- возможна разработка без подключения к сети.
- все еще может получить некоторые преимущества в производительности за счет gzipping, в дополнение к минимизации
Ответ 5
Я предпочитаю использовать свою локальную версию, потому что у меня нет контроля над тем, что они будут предоставлять.
Например, я не хочу, чтобы мои пользователи пострадали от Google Analytics или чего-то подобного, потому что это юридическая проблема в моей стране.
Ответ 6
Преимущества: (специально для Google CDN)
- Загрузка файлов параллельно. Другие ответы касаются этого.
- Серверы Google, скорее всего, смогут быстрее доставлять контент
- Общие библиотеки и фреймворки могут уже находиться на пользовательском компьютере, поскольку кеш HTTP для CDN является универсальным для всех сайтов.
- Ваша пропускная способность не должна идти в направлении обслуживания больших файлов библиотеки.
Ответ 7
Практически каждый способ взглянуть на него, используя Google CDN - это хорошо.
Производительность будет улучшена (хотя и довольно незначительно, если только ваш сайт не занят), и объем данных, которые ваши серверы должны передавать, будет уменьшаться (хотя jQuery не совсем то, что нужно загрузить) и т.д.
Единственная причина, по которой вы не захотите ее использовать, - это не доверять Google. Используя это, вы эффективно предоставляете Google дополнительное окно информации в профиль вашего сайта, включая знание URL-адресов, которые вы, возможно, не хотите публиковать (например, защищенные области вашего сайта).
Если вы параноик о безопасности, этого может быть достаточно, чтобы убедить вас не использовать их (в конце концов, размещение его самостоятельно не означает, что ваш сайт будет замедлять ваш сайт до обхода), но в целом большинство людей будут принимать прагматичное представление о том, что Google уже достаточно знает об их сайте, добавив, что это не будет иметь большого значения.
Ответ 8
Для меня это действительно зависит от того, какой контроль вы хотите иметь. Если вы похожи на меня и должны развиваться на локальном хосте при работе и путешествиях. Наличие локальных файлов jquery лучше, чем их размещение в google или где.
Ответ 9
Возможно, сейчас я в меньшинстве, но я бы сказал, что вы не хотите использовать CDN, если вам это действительно не нужно. Ключевые факторы, чтобы начать использовать это:
- Кросс гео пользователей. Если вы размещаете свой сайт в США, но у вас есть заметное количество европейских пользователей - CDN уменьшит время загрузки.
- Большое количество пользователей и\или большой контент, поэтому одного главного сервера уже недостаточно. Можно думать о любой порно-видео на сайте (или Netflix, если вы хотите). Видеопоток - это большая нагрузка, при этом CDN будет намного меньше загружать основной сервер.
Но... дело в том, что эти пункты на самом деле не применимы к 90% веб-сайтов в мире. Бьюсь об заклад, вы не Facebook с миллионами онлайн-пользователей по всему миру, вы не Pornhub с сотнями ГБ, передаваемых каждую секунду.
Если ваш веб-сайт предназначен для пользователей в вашем городе/стране, и мощности одного сервера достаточно для количества пользователей, которые у вас есть - зачем вам вообще нужен CDN? Это быстрее для ваших пользователей в вашем городе и проще для вас, чтобы получить все с вашего главного сервера локально.
Это было больше о CDN в целом, теперь позвольте мне быть ближе к актуальному вопросу о jQuery или любой другой библиотеке.
Если вы хотите, чтобы ваш сайт оставался доступным и работал без обслуживания более года, скажем, поместите его локально. Библиотеки в настоящее время обновляются в сумасшедшем темпе, которому вы, вероятно, не хотите следовать. И старые версии в конечном итоге удаляются. Более того, вся библиотека может умереть (хотя, вероятно, не относится к jQuery).
Из моего недавнего опыта - я обновил TinyMCE на веб-сайте, который я поддерживаю, с 3.xx (от 2012) до 5.xx (от весны 2019). Этот сайт работал 7 (семь!) Лет без какого-либо обслуживания в этой части логики. В то время не было понятия "минимизации", а CDN были не такими распространенными, как сейчас. Но даже если они будут обычными - никогда не знаешь, что будет через 3-5-10 лет. Обычно вы хотите, чтобы ваш сайт оставался в живых, даже если вы не поддерживаете его, не так ли? Однако, если вы извлечете jQuery из CDN сегодня, то эта ссылка может (и, вероятно, разорвется) через 5 лет.
Решение с CDN и переходом на локальную версию, как предложил @Xaver, может быть хорошим компромиссом. Но... может быть, просто избавиться от ссылки CDN? ;)
Ответ 10
пожалуйста, прочитайте эту статью на jquery cdn vs local http://www.learniteasily.com/jquery/integrating-jquery-library/