2012-01-16 4 views
2

Я еще не использовал jQuery, но не могу не заметить множество вопросов, которые его затрагивают. При чтении об основах, some упоминают «напряжение на клиентском компьютере и, возможно, на вашем веб-сервере, если вы собираетесь разместить сценарий JQuery на своем собственном веб-сервере».Сколько стоит на серверах jQuery?

Я не очень беспокоюсь о стороне клиента, но задаюсь вопросом, какое напряжение мы будем смотреть. I read, что библиотека jQuery «может быть включена в веб-страницу путем ссылки на локальную копию или на одну из многочисленных копий, доступных с общедоступных серверов». Интересно, почему Microsoft (или кто бы то ни было) хотел бы, чтобы миллионы людей использовали свои серверы в библиотеках DL jQuery? Всегда ли DL-файл клиента обрабатывает каждый сеанс или только части, которые необходимы DL'd и доступны локально, когда срабатывают события/эффекты/функции? Как часто библиотека очищается на стороне клиента? Если бы у меня было, скажем, 100'000 посетителей и 1'000'000 хитов на моем сайте, сколько раз библиотечный файл DL'd? Один раз за сессию? Извините за постановку этого вопроса n00b, но я читаю некоторые противоречивые вещи и задаюсь вопросом, может ли кто-нибудь меня заполнить.

+5

Этот пост глупо. jQuery загружается все-в-один раз, но его нужно загружать только один раз за сеанс * в худшем случае *, и он использует меньшую пропускную способность, чем многие изображения. Если вы не проектируете веб-сайт для использования абсолютного минимального объема полосы пропускания, это не должно вызывать беспокойства. –

+0

Зависит от того, насколько правильно и агрессивно настроено кэширование через заголовки HTTP-ответа на стороне сервера. Принимая во внимание, что, например, определенный точечный выпуск jQuery будет * никогда * изменяться, я бы сказал, что напряжение намного меньше, чем вы могли себе представить для этих чисел. – Jon

+0

Google находит некоторые причины: http://encosia.com/3-reasons-why-you-should-let-google-host-jquery-for-you/ –

ответ

4

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

Последняя версия jQuery составляет около 31kb, когда она предназначена для производства, поэтому она соответствует любой другой графической или легкой странице html в вашем приложении, за исключением того, что она будет кэшироваться на клиенте и не загружаться дважды.

Разрешение использования базы jQuery, которая будет организована CDN, например Google, также является опцией. Here is a great blog post about doing that.

+0

Я не понимал, что это было так мало. Являются ли большинство плагинов похожими по размеру? – Dallas

+0

Большинство плагинов, которые расширяют jQuery, скорее всего, будут меньше;). Удачи! –

1

Есть ряд вещей, которые вы можете сделать для смягчения этих проблем.

  1. Вы бы хотели убедиться, что браузер кэширован, какие библиотеки javascript вы используете. Браузеры обычно делают это, и вы действительно можете обеспечить его использование манифеста кэша html5. Таким образом, каждый клиент загружает ваш код только один раз.

  2. Минимизировать ваш src.

  3. Настройте свои веб-серверы для хранения общих статических ресурсов (например, кода и изображений src) в памяти и gzip для передачи, чтобы уменьшить размер загрузки.

Кроме того, есть нечто, называемое планирование мощностей. Если ваше приложение получит 100 тыс. Посетителей, вам необходимо иметь аппаратное обеспечение для поддержки этого.

3

Большинство статических материалов, таких как библиотеки jQuery в файлах Javascript, не является напряжением. Вы упоминаете 100 000 посетителей, это в день? В месяц? На самом деле меняет ожидания.

В любом случае вам не нужно размещать файлы jQuery на своих серверах, вы можете использовать сеть доставки контента (CDN) или CDN от Microsoft (например, https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js), чтобы устранить любые проблемы на ваших серверах, связанные с загрузка файла.

+0

Вот почему я спросил, так как у нас высокий уровень трафика. Если он не отличается по размеру, чем с изображением, то похоже, что это не должно быть больше напряжения, чем добавление другого изображения на страницу. – Dallas

1

Файл будет загружен один раз для каждого пользователя. Как только он загружается в первый раз, браузер пользователя кэширует его, и он больше не загружается. Сравните это со своими HTML-страницами, которые будут перезагружаться каждый раз, когда пользователь нажимает на ссылку.

В 33кб JQuery примерно такого же размера, как и большой HTML-документ, и во много раз меньше большинства изображений. Поскольку это всего лишь статический файл, он практически не загружает сервер. Согласно this article, общее серверное программное обеспечение может обрабатывать десятки тысяч статических запросов в секунду, с которыми больше всего приходится сталкиваться веб-сайтам.

Именно поэтому Google и Microsoft в порядке с хостингом jQuery для всех - он настолько мал, что он не сильно беспокоит их серверы.

Подводя итог; не беспокойтесь об этом. jQuery никогда не вызовет проблемы для вашего сервера.

+0

Прохладный. Я не понимал, что это было так мало. Большинство плагинов также мало? – Dallas

+0

Yup! На самом деле подавляющее большинство из них даже меньше. – snostorm

Смежные вопросы