Должен ли я размещать файлы Jquery на моем веб-сервере или просто ссылаться на них через jquery.com в моих файлах PHP, что лучше?

#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 и есть много очень полезных инструментов, доступных также, некоторые из которых следуют: