Преимущества и подводные камни хостинга jQuery локально
в настоящее время мы вытаскиваем библиотеки jQuery и jQueryUI (и jQueryUI CSS) из Google CDN. Мне это нравится, потому что я могу позвонить google.load("jquery", "1");
и последний jQuery 1.x. x будет использоваться.
теперь я должен вытащить библиотеки локально из-за безопасности.
Я рад вытащить их локально, но мне интересно, каковы некоторые другие преимущества и подводные камни, чтобы следить за ними?
8 ответов:
главным преимуществом наличия их на CDN является то, что файлы могут быть загружены параллельно с файлами, загруженными с вашего собственного сайта. Это уменьшает задержку на каждой странице. Итак, оборотной стороной этого является ловушка хостинга локально -увеличение задержки. Основная причина этого заключается в том, что браузеры ограничены в количестве подключений, которые они могут сделать одновременно к одному и тому же веб-домену. В IE6 это было по умолчанию для 2 одновременных подключений к одному домену - разделяется между всеми открытыми окнами IE!! в IE8 + он улучшился, по умолчанию до 6, который встроен в FF / Chrome, но все же, если у вас много изображений, и вы не используете спрайты, вы будете испытывать большую задержку.
используя CDN, я бы всегда устанавливайте версию библиотеки явно вместо того, чтобы получить последний. Это снижает риск взлома кода новыми версиями. Не очень вероятно, с jQuery, но можно.
другой основной преимущество использования CDN является снижение трафика на вашем сайте. Если вы платите за ГБ или находитесь на виртуальном сервере с ограниченными ресурсами, вы можете обнаружить, что общая производительность сайта увеличивается, а затраты на хостинг снижаются, когда вы отправляете часть своего контента на общедоступный CDN.
убедитесь, что вы также прочитали другой ответ на этот вопрос от @revaxarts. Это очень хороший трюк
Я всегда использую 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>захватите jQuery Google CDN и при необходимости вернитесь к локальному
Edit: Если вам не нужно поддерживать IE6, и ваш сайт имеет частичное использование https, вы также можете удалить http:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
другие покрыли преимущества. Подводные камни:
Если вы включаете только контент с вашего собственного сервера, это один сервер, который должен быть запущен-и не заблокирован брандмауэрами и т. д.-Чтобы ваш сайт работал. Потяните скрипт от третьей стороны, и теперь это два сервера, которые должны быть запущены и разблокированы, чтобы ваш сайт работал.
любой сайт вы тянете
<script>от может полностью контролировать опыт пользователя на вашем сайте. Если бы Google был чувствуя зло, они могли бы поместить что-то в свою копию jQuery, чтобы войти в ваши нажатия клавиш, украсть личную информацию со страницы, на которой вы находитесь, чтобы связать ее с базой данных веб-отслеживания, заставить вас опубликовать "я люблю Google!- комментарии к каждой форме и так далее.Google, вероятно, на самом деле не собирается этого делать, но это фактор, который находится вне вашего контроля, и, конечно же, о чем-то беспокоиться с другими службами хостинга сценариев. Там были инциденты раньше, где статистика скрипты были скомпрометированы с помощью загрузчиков вредоносных программ.
перед включением любого скрипта от третьей стороны-даже на одной странице вашего сайта-вы должны на 100% доверять им со всеми доступными пользователю функциями, видимыми на этом имени хоста (включая веб-функции администратора).
Google CDN:
- кэширование, хорошо для производительности, больше пользователей, вероятно, уже есть, и он загружается параллельно
- Если когда-либо, heaver запрещает cdn идет вниз. ты облажался.
- если новая версия нарушает ваши существующие плагины или сайт, вы узнаете об этом, возможно, слишком поздно
локально:
- разработка без подключения к сети возможна
- все еще может получить некоторую производительность преимущества gzipping, в дополнение к минимизации
Я предпочитаю использовать свою локальную версию, потому что у меня нет контроля над тем, что они предоставят. Например, я не хочу, чтобы мои пользователи пострадали от google-analytics или чего-то подобного, потому что это правовая проблема в моей стране.
преимущества: (специально для CDN Google)
- загрузка параллельно с вашими файлами. Другие ответы касаются этого далее
- серверы Google, вероятно, смогут физически доставлять контент быстрее
- общие библиотеки и фреймворки уже могут быть на компьютере пользователя, так как кэш HTTP для CDN универсальная по всем сайтам
- ваша пропускная способность не должна была бы идти к обслуживанию большой библиотеки файлы
практически все, как вы смотрите на это, с помощью CDN Google является хорошей вещью.
производительность будет улучшена (хотя и довольно незначительно, если ваш сайт действительно занят), и количество данных, которые должны передавать ваши серверы, снизится (хотя jQuery не совсем массивная вещь для загрузки) и т. д.
единственная причина, по которой вы не хотели бы использовать его, если вы не доверяете Google. Используя его, вы даете Google дополнительное окно информации в профиль трафика вашего сайта, включая знание url-адресов, которые вы в противном случае не захотите публиковать (например, безопасные области вашего сайта).
Если вы параноидально относитесь к безопасности, то этого может быть достаточно, чтобы убедить вас не использовать их (в конце концов, хостинг сам по себе точно не замедлит ваш сайт до обхода), но в целом большинство людей будут придерживаться прагматического мнения, что Google уже знает достаточно о своем сайте, что добавление этого не будет иметь большого значения.
для меня это действительно зависит от того, сколько контроля вы хотите иметь. Если вы похожи на меня и должны развиваться на местном хосте при работе и путешествиях. Наличие локальных файлов jquery лучше, чем его размещение в google или где-либо еще.
Comments