#javascript #jquery #web-services #jquery-plugins #webserver
#javascript #jquery #веб-сервисы #jquery-плагины #веб-сервер
Вопрос:
Когда я использую Jquery или его плагин, должен ли я просто добавлять
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
Или я должен загрузить оба файла и загрузить оба на свой веб-сервер, чтобы мой веб-сервер мог извлекать оба файла локально? Что лучше и почему?
Ответ №1:
Лучше всего, позвольте Google разместить их для вас. Посмотрите , что такое AJAX Libraries API?. Вы можете загружать их асинхронно или просто ссылаться на статические файлы.
http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
В то время как Google предложил эту услугу, поэтому ее можно использовать, я не уверен, что у jQuery есть, поэтому, если кто-то явно не скажет «вы можете ссылаться на материалы с моего сайта», вам следует проявлять осторожность и не (потенциально) красть их пропускную способность.
Комментарии:
1. 1, Клетус прав. Файлы jquery от Google размещаются на довольно сумасшедшем CDN, который маршрутизируется по множеству мест, чтобы как можно быстрее доставить файл вашим пользователям.
2. Просто чтобы быть конкретным: я полагаю, что проект jQuery предпочел бы, чтобы люди не ссылались на файлы скриптов с их серверов. Если бы все так поступали, их счета довольно быстро выросли бы до астрономических размеров.
Ответ №2:
Я знаю, это немного глупо, но, если вы выберете внешний хост, просто убедитесь, что вам никогда не понадобится показывать свой веб-сайт где-либо, где нет подключения к Интернету.
Это довольно необычно, но однажды я уже сталкивался с этим. Я хочу показать новую версию уже работающего сайта клиенту в презентационном зале без Интернета.
Другой случай — сайт в интрасети. Если интернет отключен, никто не сможет подключиться к интрасети, потому что у нее есть ссылка на google .js или где-то еще.
😀
Ответ №3:
Существуют веские аргументы как для локального, так и для внешнего размещения ваших файлов jQuery (обычно через Google).
Основным аргументом против создания ссылок с внешнего сервера является то, что вы добавляете еще одну точку отказа на свой веб-сайт, но опять же, Google не очень часто выходит из строя.
Аргументом в пользу является небольшое повышение производительности из-за того, что Google использует CDN для своих файлов и что внешние файлы могут быть загружены параллельно. Вот отличная статья, которая обосновывает эту настройку.
Если вы не уверены, попробуйте загрузить FireBug и проверьте, какой вид повышения производительности вы получаете (если таковой имеется).
Ответ №4:
Еще одна мысль, которую следует учитывать (в зависимости от аудитории вашего сайта), — это стоимость пропускной способности. Если вам нужно отправить файл (ы) огромному количеству клиентов, это может привести к увеличению. Кто-то другой (например, Google) размещает это на хостинге, что означает, что они имеют дело с этим, а не вы.
Ответ №5:
Что-то другое, если у вас много незакрепленных JS-файлов (плагинов jQuery?), Тогда вы могли бы также рассмотреть возможность сокращения и объединения их всех в один файл на вашем хостинге с истекшим сроком действия в далеком будущем и кодировкой gzip. Это экономит длительные (внешние) запросы. Сокращение и объединение могут быть легко автоматизированы перед развертыванием или во время запуска сервера.
Ответ №6:
Помимо внешней зависимости и еще одной точки отказа, по словам Криса, ссылка на файлы в другом домене означает больше запросов DNS. Объединение файлов (где это возможно) и сокращение также повышает производительность, как упоминал БалусК. Много полезной информации можно найти на http://developer.yahoo.com/performance/rules.html и есть много очень полезных инструментов, доступных также, некоторые из которых следуют: