jsdelivr net что это такое
jsDelivr – передовая, открытая и общедоступная CDN
Как разработчик, вы возможно в курсе о Google Hosted Libraries. Google предоставляет простой и быстрый способ, как включить в ваши веб-сайты 12 самых популярных JavaScript-библиотек.
Но что, если вы – вебмастер и хотите использовать преимущество быстрых CDN при использовании в других менее популярных проектах? Или же вы – разработчик и хотите сделать ваш проект более удобным в использовании и более доступным другим пользователям.
Здесь в игру вступает jsDelivr. jsDelivr – это бесплатная и свободная CDN, созданная для того, чтобы помочь разработчикам и вебмастерам. В ней нет ограничений по популярности и разрешены все типы файлов, включая библиотеки JavaScript, плагины jQuery, CSS-фрэймворки, шрифты и многое другое.
Добавление библиотеки
Чтобы добавить новую библиотеку или обновить существующую, все что должен сделать разработчик – это клонировать наш Github-репозиторий и применить те модификации, которые он считает нужным. Когда модератор просматривает Pull-запрос и сливает его с основной веткой, файлы сразу же становятся доступны на официальном веб-сайте.
Если модератор в онлайне, одобрение займет не более 20 минут, в противном случае оно может занять до 10 часов, пока кто-то не появится в онлайне. Однако, как только наше приложение автообновления будет готово, время рассмотрения снизится.
Надежность
Что же в действительности делает проект передовым? Идеей jsDelivr было не создание еще одной CDN, а предоставление очень быстрой и надежной инфраструктуры, которую разработчики и вебмастеры могут использовать, доверяя ей. Любой веб-сайт, будь то большой или маленький, может использовать ее, не беспокоясь. Наш сервис крайне надежен и не имеет ограничений на ширину канала.
Большое время отклика, таймауты и отсутствие сервиса – невыносимы, поэтому мы спроектировали уникальную систему для преодоления этих проблем, и предлагаем продукт, которому могут позавидовать даже CDN enterprise-уровня. Наши наивысшие приоритеты – это время непрерывной работы и производительность. Мы непрерывно все мониторим и всегда находимся в поиске новых технологий и провайдеров, которые могли бы в перспективе улучшить нашу CDN.
Инфраструктура
В отличие от конкурентов, jsDelivr использует уникальную инфраструктуру Multi-CDN, чтобы обеспечить максимально возможные производительность и время непрерывной работы. Ее главная магистральная сеть построена поверх CDN-сетей, предоставляемых MaxCDN и CloudFlare.
Мы также используем специализированные выделенные серверы там, где CDN-сети имеют небольшое представительство, или где их нет совсем. Всего на данный момент это выливается в 42 точки присутствия по всему миру. В будущем мы планируем увеличить число мест размещения, чтобы обеспечить высокую производительность даже в менее популярных странах.
Конечно, множество точек присутствия еще ничего не значит, если вы не можете правильно балансировать нагрузку между ними. Для системы балансировки нагрузки мы используем сервисы, предоставляемые Cedexis. Одной из их главных особенностей является то, что они собирают данные о производительности в реальном времени со всех главных CDN-провайдеров. Каждый день обрабатываются и становятся доступны всем пользователям Cedexis до 1,3 млрд. RUM-тестов производительности (RUM – Real User Monitoring/Measurements — измерения, проводимые при посещении сайтов реальными пользователями, а не роботами).
Измерение производительности
Для сбора данных этих RUM-тестов они развернули специализированный JavaScript-код на тысячах веб-сайтов. Каждый посетитель любого из этих веб-сайтов инициирует выполнение данного кода, и в то время, когда он просматривает веб-сайт, в бэкграунде начинается тестирование различных CDN-провайдеров. Тестирование не влияет на ощущения от серфинга и полностью прозрачно для пользователя. Вы можете увидеть, как это работает, посетив наш веб-сайт, открыв панель разработчика (F12) и перейдя на вкладку «Сеть».
Эти тесты прекрасны тем, что они не синтетические. Они отображают реальную производительность, которую получат реальные пользователи, если они решат скачать файл по одной из этих CDN-сетей.
Каждый пользователь получает уникальный ответ, основанный на его местоположении и том, каким Интернет-провайдером он пользуется. Каждый раз, когда пользователь решает загрузить файл через jsDelivr, наш алгоритм берет данные о доступности и производительности за последние несколько минут, и затем находит самого оптимального в этот момент провайдера для данного пользователя. И все это в течение нескольких миллисекунд.
В первую очередь, он убеждается, что все провайдеры доступны. Для этого он использует RUM-метрики доступности и синтетический тест, который ежеминутно проверяет каждого провайдера на работоспособность. Далее провайдеры ранжируются по производительности относительно Интернет-провайдера для данного пользователя и его местоположения.
Как только находится самый быстрый провайдер, его имя возвращается пользователю. Например, 2 пользователя разных Интернет-провайдеров Лондона могут получить 2 разных ответа, потому что их Интернет-провайдеры имеют разные маршруты и разную производительность относительно CDN-провайдеров. Эта интеллектуальная система гарантирует максимальный аптайм и высокую скорость закачки для всех пользователей. Если провайдер станет недоступен, jsDelivr не ощутит никаких проблем и незамедлительно начнет использовать другого провайдера.
Этот алгоритм также моментально реагирует на ухудшение производительности. Например, если CDN-провайдер DDoS-ится в Европе и его время отклика увеличивается, jsDelivr заметит проблему и просто прекратит использование этого провайдера в Европе, но по-прежнему будет учитывать его для пользователей из США и других мест, которые не подвержены атаке.
Не полагайтесь в надежности работы и скорости на одну единственную CDN. Все может выйти из строя, но шансы того, что одновременно лягут две CDN и множество серверов, очень малы. Вот почему jsDelivr – это самое оптимальное решение для любого веб-сайта. И не важно, насколько он большой.
Должен также напомнить, что MaxCDN, CloudFlare, Cedexis и другие компании поддерживают jsDelivr бесплатно. Приятно видеть, что существуют организации, которые способны помогать open source проектам и строить быстрый и свободный Интернет.
Расширенные особенности
jsDelivr также поддерживает некоторые интересные и очень полезные особенности, такие как:
Aliasing версий
Вместо того, чтобы использовать уникальный URL для каждой версии, чтобы загрузить проект, с jsDelivr вы можете использовать псевдонимы. Возьмем к примеру, проект Abaaso. На данный момент последняя версия – 3.10.50, и вы можете загрузить его, как обычно, указав точную версию в своем URL. Но так как этот проект обновляется очень часто, вскоре ваша используемая версия устареет. Чтобы преодолеть эту проблему, теперь можно просто использовать следующий URL:
Используя 3.10, вы указываете jsDelivr загрузить последнюю версию проекта из ветки 3.10, которой в данном случае является 3.10.50. Это оптимальное решение для большинства авторов, поскольку они могут загрузить последнюю вспомогательную версию, не беспокоясь о крупных изменениях, которые могли бы нарушить работоспособность их веб-сайта.
Конечно, можно загрузить последнюю версию ветки v3, используя следующий URL:
И если по какой-то причине вам всегда нужно загружать последнюю доступную версию, вы можете использовать:
Используя “latest”, вы говорите серверу загрузить самую свежую версию, которая у него есть. Конечно, это опасно, и рано или поздно может вывести из строя ваш сайт. Так что используйте эту функцию с осторожностью.
Загрузка нескольких файлов за один HTTP-запрос
jsDelivr – первая CDN для поддержки такого рода функциональности. Вы можете загрузить несколько файлов с помощью одного HTTP-запроса. Подобно объединению и сжатию JavaScript-файлов на вашем собственном сервере, только на этот раз — в кэше огромной и умной сети jsDelivr.
Все, что вам нужно сделать – это создать собственный URL с проектами и файлами, которые вы хотите объединить, и их версиями, если необходимо. Например, чтобы загрузить последнюю версию проектов abaaso, ace и alloyui вы используете следующий синтаксис:
Имейте в виду, что загрузка последней версии не рекомендуется, и рано или поздно это обрушит ваш сайт. Вот почему вы должны указывать точные версии, либо использовать псевдонимы версий:
Так, jquery@2.1 загрузит 2.1.0, и angularjs@1.2 загрузит 1.2.14. Но приведенная выше ссылка загрузит лишь главные файлы каждого проекта, и ничего больше.
Если вы хотите загрузить несколько файлов одного проекта, то можете сделать следующее:
Далее, вы просто включаете URL в ваш веб-сайт, и все готово. Меньше DNS-запросов, меньше TCP-соединений, меньше HTTP-запросов = более быстрый веб-сайт.
Вы даже можете использовать эту функцию и предложить вашим пользователям конструктор, чтобы дать им возможность генерировать URL с модулями, которые им нужны, а затем загружать их с помощью быстрой CDN.
Настоящий API
jsDelivr имеет полнофункциональный API, который может использоваться разработчиками в своих веб-сайтах для того, чтобы создавать пользовательские модули и все, что только можно представить.
Вы можете запросить именно то, что вам нужно, используя наш API, не загружая огромный JSON-пакет. И он также поддерживает cdnjs и Google. Таким образом, разработчики имеют все, что им нужно для того, чтобы создавать свои приложения.
Автообновления
jsDelivr libgrabber – это утилита, которая готовится к запуску на наших серверах и сможет автоматически обновлять все размещенные проекты, если эта функция будет сконфигурирована. Самое важное – это то, что авторам не надо ничего менять в своих репозиториях. Все изменения производятся на стороне jsDelivr.
Все, что вам нужно – это создать внутри проекта файл update.json с некоторой базовой информацией, который вы хотите автоматически обновлять в репозитории jsDelivr. Этот файл также поддерживает множество источникой для новых версий. Таких как, к примеру, npm, bower и непосредственно Github-репозитории. Эта функциональность по-прежнему находится в стадии разработки, но планируется к запуску в ближайшее время.
Помогите нам – попробуйте это!
jsDelivr – это очень интересный проект, который мне нравится разрабатывать и улучшать. Он также в значительной мере опирается на помощь со стороны сообщества. Рассмотрите возможность использования его на своих веб-сайтах и разместите на нем свои проекты.
И если вы заинтересованы в том, чтобы помочь нам, мы всегда можем принять любую помощь, просто присоединяйтесь к общению на GitHub.
Не стесняйтесь оставлять свои комментарии и задавать мне любые вопросы, которые могут у вас возникнуть.
JsDelivr: продвинутая CDN с открытым исходным кодом
Реверс малвари
Системный администратор Дмитрий Акулов с коллегами из компании MaxCDN разработал набор библиотек и плагинов jsDelivr, с помощью которого любой веб-разработчик может легко подключить к своему веб-сайту быструю и бесплатную сеть доставки и дистрибуции контента (CDN).
Трафик CDN не дешевый, но здесь все абсолютно бесплатно благодаря нескольким спонсорам, которые предоставляют в бесплатное пользование свои CDN-серверы. Главные из спонсоров — MaxCDN, CloudFlare и Cedexis.
Система работает следующим образом. Когда пользователь заходит на сайт с jsDelivr, то файлы к нему передаются с ближайшего и самого быстрого для него места. На данный момент в системе работает 81 сервер по всему миру, в том числе серверы MaxCDN и CloudFlare, а также 14 дополнительных VPS-серверов.
Уникальность системы заключается в том, что поддерживается несколько провайдеров, так что в случае DDoS-атаки на одного из них трафик автоматически переходит на другого. При этом jsDelivr использует продвинутую балансировку нагрузки. У каждого пользователя в фоновом режиме замеряется пинг ко всем CDN-серверам, после чего трафик идет через самый быстрый из них. При чрезмерной нагрузке одного из CDN-серверов нагрузка автоматически перераспределяется. Более того, запросы двух пользователей из одного города могут быть направлены на разные CDN, если они пользуются услугами разных интернет-провайдеров, от которых трассировка к хосту отличается. Ведь используются реальные тесты производительности, а не синтетические.
Разработчики jsDelivr предлагают всем желающим использовать бесплатную CDN, а также собственные модули произвольной функциональности, которые подключаются к CDN через jsDelivr API.
Features
jsDelivr provides mirrors for npm, GitHub, WordPress plugins, and custom endpoints for several other projects with special requirements. If our regular endpoints don’t work for your use case, let us know and we’ll figure something out!
If you are a package author, check our tips for package authors to make using your package as easy as possible.
npm CDN
Load any project hosted on npm:
Load an exact version of a file:
Use a version range instead of an exact version:
Load by tag (not recommended for production usage):
Omit the version completely or use «latest» to load the latest one (not recommended for production usage):
Get a directory listing:
GitHub CDN
Load any GitHub release, commit, or branch:
Load an exact version of a file:
Use a version range instead of an exact version:
Omit the version completely or use «latest» to load the latest one (not recommended for production usage):
Get a directory listing:
Combine multiple files
Our combine endpoint allows you to load several files from npm and GitHub endpoints in one request:
All features that work for individual files (version ranges, minification, etc.) work here as well. All combined files come with source maps and can be easily used during development.
WordPress CDN
Load any plugin from the WordPress.org plugins SVN repo:
Load an exact version of a file:
Load the latest version (not recommended for production usage):
Load any theme from the WordPress.org themes SVN repo:
Load an exact version of a file:
Custom endpoints
We provide custom endpoints for the following projects (contact us if you need one too):
Tips for package authors
For packages hosted on npm, we support setting a «default» file for each package. This file is displayed at the top of directory listings on our website and available under shorter URL on the CDN. The default file can be configured by setting one of the following fields in package.json (ordered by priority):
Be advised that you must include file extension in the values, for example:
Сервис JsDelivr
Соответственно, необходимо повысить скорость загрузки страниц. На неё могут влиять как объективные, так и субъективные причины. С объективными, такими как недостаточная или неправильная оптимизация, несоответствие форматов изображений, некорректная настройка GIF-изображений, ошибки в JavaScript и прочее поможет справиться наша команда профессиональных веб-разработчиков. Мы умеем разгонять любые сайты, какой бы запущенной не была ситуация и выводим их в ТОП.
А вот субъективные причины зачастую от веб-разработчика не зависят. К примеру, это медленный хостинг, который возможно придётся сменить. Большую роль в скорости загрузки играет и удалённость конечного потребителя от сервера, посредством которого осуществляется передача данных. Здесь решением проблемы станет использование CDN-сервиса. Это сеть доставки контентов, которая состоит из множества серверов и загружает информацию с ближайшего от пользователя.
Одним из наиболее популярных среди веб-разработчиков является jsDelivr. Украинский разработчик Дмитрий Акулов из MaxCDN и его коллеги создали библиотеки и плагины, которые позволяют ускорить сайт.
Особенности jsDelivr CDN
jsDelivr CDN — это в первую очередь инструмент для программистов и веб-мастеров. Его главной особенностью является тот факт, что это CDN с открытым кодом. А значит, она бесплатна для пользователей. Это не значит, что в ней дешёвый трафик или низкая скорость. Сервис имеет своих спонсоров, основными из которых являются MaxCDN, CloudFlare и Cedexis.
jsDelivr является особым видом CDN. В него пользователи могут загрузить библиотеки, JavaScript, SSL, плагины WordPress и другие данные. При этом. Стоит учитывать, что инструмент был создан в первую очередь для специалистов. Он позволяет использовать множество серверов и загружать контент максимально быстро, но его настройки и работа с ним требуют определённых знаний. Владелец сайта, если он не является програмистом и не умеет писать и исправлять коды, вряд ли сможет провести корректные настройки. В данном случае, лучше отдать свой сайт в руки профессионалов.
Ещё одной особенностью jsDelivr является использование уникальной системы MULTI-CDN. Собственная сеть построена поверх существующих сетей CDN, которые предоставляют проекту StackPath, Cloudflare, Fastly и Quantil. Пользовательские серверы расположены как в популярных местах, так и в тех, где практически отсутствует покрытие CDN. В том числе, серверы есть в Китае. На данный момент компания располагает более чем 750 точками присутствия.
Сервис применяет интеллектуальную систему балансировки нагрузки обеспечивая наилучшее время безотказной работы и оптимальную производительность. Как это происходит на практике? Когда пользователь загружает файл из jsDelivr, автоматический алгоритм определяет оптимального поставщика для этого конкретного пользователя и конкретного времени на основе данных о производительности и доступности за последние несколько минут. На все эти действия достаточно нескольких миллисекунд. Таким образом, контент доставляется максимально быстро.
Помимо этого, данный интеллектуальный алгоритм отслеживает снижение производительности у каждого из поставщиков CDN-трафика. К примеру, если на серверы конкретного поставщика происходит DdoS-атака в Америке, то соответственно, его работа замедляется. JsDelivr определяет данную проблему и временно прекращает пользоваться серверами данного поставщика в конкретном регионе.
Дополнительные возможности JsDelivr
На JsDelivr CDN можно хранить шрифты, картинки, файлы и прочую «начинку» сайта. Помимо этого, пользователи получают доступ к различным библиотекам, фреймворкам и плагинам. Посмотрев статистику, всевозможных CDN-сервисов можно удостовериться, что JsDelivr не уступает, а иногда и превосходит их по скорости.
Из полезных опций, которыми наделён сервис, стоит отметить возможность объединять ссылки нескольких проектов в одну общую. Таким образом, существенно снижается число HTTP-запросов и повышается производительность сайта. На практике это будет выглядеть приблизительно таким образом.
В исходном варианте мы имеем набор ссылок:
//cdn.jsdelivr.net/jquery/2.1.1/jquery.min.js
//cdn.jsdelivr.net/bxslider/4.1.1/jquery.bxslider.min.js
//cdn.jsdelivr.net/countdown/2.0.0/jquery.countdown-ru.js
//cdn.jsdelivr.net/countdown/2.0.0/jquery.countdown.min.js
После объединения появляется одна общая ссылка, по которой будет предоставляться необходимая информация:
http://cdn.jsdelivr.net/g/jquery@2.1.1,bxslider@4.1.1,countdown@2.0.0(jquery.countdown-ru.js+jquery.countdown.min.js)
Таким образом, суть остаётся прежней, а вот объём данных и число ненужных запросов снижаются.
Как использовать JsDelivr CDN
JsDelivr CDN способна мгновенно обслуживать любой файл из пакета npm в публичном реестре. При этом, если добавляются новые версии или происходят правки в текущих, они автоматически доступны через CDN и не требуют никакого обслуживания. В случае удаления файла из npm, JsDelivr продолжает его обслуживать, чтобы не нарушить рботоспособность сайтов, которые его используют.
Как очистить кэш
Очистка кэша в JsDelivr CDN происходит в ручном режиме. API прост и удобен в использовании, позволяет принудительно обновить всех пользователей и псевдонимы. Стоит учитывать, что в любой момент очистить кэш не возможно. Чтобы избежать злоупотреблений, перед проведением операции необходимо отправить запрос на электронный адрес dak@prospectone.io и после этого будет предоставлен доступ к очистке.
Стоит отметить, что все POP сети поддерживают HTTP/2, что позволяет обеспечивать лучшую производительность для всех пользователей.
jsDelivr – передовая, открытая и общедоступная CDN
Как разработчик, вы возможно в курсе о Google Hosted Libraries. Google предоставляет простой и быстрый способ, как включить в ваши веб-сайты 12 самых популярных JavaScript-библиотек.
Но что, если вы – вебмастер и хотите использовать преимущество быстрых CDN при использовании в других менее популярных проектах? Или же вы – разработчик и хотите сделать ваш проект более удобным в использовании и более доступным другим пользователям.
Здесь в игру вступает jsDelivr. jsDelivr – это бесплатная и свободная CDN, созданная для того, чтобы помочь разработчикам и вебмастерам. В ней нет ограничений по популярности и разрешены все типы файлов, включая библиотеки JavaScript, плагины jQuery, CSS-фрэймворки, шрифты и многое другое.
Добавление библиотеки
Чтобы добавить новую библиотеку или обновить существующую, все что должен сделать разработчик – это клонировать наш Github-репозиторий и применить те модификации, которые он считает нужным. Когда модератор просматривает Pull-запрос и сливает его с основной веткой, файлы сразу же становятся доступны на официальном веб-сайте.
Если модератор в онлайне, одобрение займет не более 20 минут, в противном случае оно может занять до 10 часов, пока кто-то не появится в онлайне. Однако, как только наше приложение автообновления будет готово, время рассмотрения снизится.
Надежность
Что же в действительности делает проект передовым? Идеей jsDelivr было не создание еще одной CDN, а предоставление очень быстрой и надежной инфраструктуры, которую разработчики и вебмастеры могут использовать, доверяя ей. Любой веб-сайт, будь то большой или маленький, может использовать ее, не беспокоясь. Наш сервис крайне надежен и не имеет ограничений на ширину канала.
Большое время отклика, таймауты и отсутствие сервиса – невыносимы, поэтому мы спроектировали уникальную систему для преодоления этих проблем, и предлагаем продукт, которому могут позавидовать даже CDN enterprise-уровня. Наши наивысшие приоритеты – это время непрерывной работы и производительность. Мы непрерывно все мониторим и всегда находимся в поиске новых технологий и провайдеров, которые могли бы в перспективе улучшить нашу CDN.
Инфраструктура
В отличие от конкурентов, jsDelivr использует уникальную инфраструктуру Multi-CDN, чтобы обеспечить максимально возможные производительность и время непрерывной работы. Ее главная магистральная сеть построена поверх CDN-сетей, предоставляемых MaxCDN и CloudFlare.
Мы также используем специализированные выделенные серверы там, где CDN-сети имеют небольшое представительство, или где их нет совсем. Всего на данный момент это выливается в 42 точки присутствия по всему миру. В будущем мы планируем увеличить число мест размещения, чтобы обеспечить высокую производительность даже в менее популярных странах.
Конечно, множество точек присутствия еще ничего не значит, если вы не можете правильно балансировать нагрузку между ними. Для системы балансировки нагрузки мы используем сервисы, предоставляемые Cedexis. Одной из их главных особенностей является то, что они собирают данные о производительности в реальном времени со всех главных CDN-провайдеров. Каждый день обрабатываются и становятся доступны всем пользователям Cedexis до 1,3 млрд. RUM-тестов производительности (RUM – Real User Monitoring/Measurements — измерения, проводимые при посещении сайтов реальными пользователями, а не роботами).
Измерение производительности
Для сбора данных этих RUM-тестов они развернули специализированный JavaScript-код на тысячах веб-сайтов. Каждый посетитель любого из этих веб-сайтов инициирует выполнение данного кода, и в то время, когда он просматривает веб-сайт, в бэкграунде начинается тестирование различных CDN-провайдеров. Тестирование не влияет на ощущения от серфинга и полностью прозрачно для пользователя. Вы можете увидеть, как это работает, посетив наш веб-сайт, открыв панель разработчика (F12) и перейдя на вкладку «Сеть».
Эти тесты прекрасны тем, что они не синтетические. Они отображают реальную производительность, которую получат реальные пользователи, если они решат скачать файл по одной из этих CDN-сетей.
Подлежит сохранению следующая информация:
Теперь у нас есть вся информация, которую мы можем использовать в алгоритме “умной” балансировки нагрузки.
Каждый пользователь получает уникальный ответ, основанный на его местоположении и том, каким Интернет-провайдером он пользуется. Каждый раз, когда пользователь решает загрузить файл через jsDelivr, наш алгоритм берет данные о доступности и производительности за последние несколько минут, и затем находит самого оптимального в этот момент провайдера для данного пользователя. И все это в течение нескольких миллисекунд.
В первую очередь, он убеждается, что все провайдеры доступны. Для этого он использует RUM-метрики доступности и синтетический тест, который ежеминутно проверяет каждого провайдера на работоспособность. Далее провайдеры ранжируются по производительности относительно Интернет-провайдера для данного пользователя и его местоположения.
Как только находится самый быстрый провайдер, его имя возвращается пользователю. Например, 2 пользователя разных Интернет-провайдеров Лондона могут получить 2 разных ответа, потому что их Интернет-провайдеры имеют разные маршруты и разную производительность относительно CDN-провайдеров. Эта интеллектуальная система гарантирует максимальный аптайм и высокую скорость закачки для всех пользователей. Если провайдер станет недоступен, jsDelivr не ощутит никаких проблем и незамедлительно начнет использовать другого провайдера.
Этот алгоритм также моментально реагирует на ухудшение производительности. Например, если CDN-провайдер DDoS-ится в Европе и его время отклика увеличивается, jsDelivr заметит проблему и просто прекратит использование этого провайдера в Европе, но по-прежнему будет учитывать его для пользователей из США и других мест, которые не подвержены атаке.
Не полагайтесь в надежности работы и скорости на одну единственную CDN. Все может выйти из строя, но шансы того, что одновременно лягут две CDN и множество серверов, очень малы. Вот почему jsDelivr – это самое оптимальное решение для любого веб-сайта. И не важно, насколько он большой.
Должен также напомнить, что MaxCDN, CloudFlare, Cedexis и другие компании поддерживают jsDelivr бесплатно. Приятно видеть, что существуют организации, которые способны помогать open source проектам и строить быстрый и свободный Интернет.
Расширенные особенности
jsDelivr также поддерживает некоторые интересные и очень полезные особенности, такие как:
Aliasing версий
Вместо того, чтобы использовать уникальный URL для каждой версии, чтобы загрузить проект, с jsDelivr вы можете использовать псевдонимы. Возьмем к примеру, проект Abaaso. На данный момент последняя версия – 3.10.50, и вы можете загрузить его, как обычно, указав точную версию в своем URL. Но так как этот проект обновляется очень часто, вскоре ваша используемая версия устареет. Чтобы преодолеть эту проблему, теперь можно просто использовать следующий URL:
Используя 3.10, вы указываете jsDelivr загрузить последнюю версию проекта из ветки 3.10, которой в данном случае является 3.10.50. Это оптимальное решение для большинства авторов, поскольку они могут загрузить последнюю вспомогательную версию, не беспокоясь о крупных изменениях, которые могли бы нарушить работоспособность их веб-сайта.
Конечно, можно загрузить последнюю версию ветки v3, используя следующий URL:
И если по какой-то причине вам всегда нужно загружать последнюю доступную версию, вы можете использовать:
Используя “latest”, вы говорите серверу загрузить самую свежую версию, которая у него есть. Конечно, это опасно, и рано или поздно может вывести из строя ваш сайт. Так что используйте эту функцию с осторожностью.
Загрузка нескольких файлов за один HTTP-запрос
jsDelivr – первая CDN для поддержки такого рода функциональности. Вы можете загрузить несколько файлов с помощью одного HTTP-запроса. Подобно объединению и сжатию JavaScript-файлов на вашем собственном сервере, только на этот раз — в кэше огромной и умной сети jsDelivr.
Все, что вам нужно сделать – это создать собственный URL с проектами и файлами, которые вы хотите объединить, и их версиями, если необходимо. Например, чтобы загрузить последнюю версию проектов abaaso, ace и alloyui вы используете следующий синтаксис:
Имейте в виду, что загрузка последней версии не рекомендуется, и рано или поздно это обрушит ваш сайт. Вот почему вы должны указывать точные версии, либо использовать псевдонимы версий:
Так, jquery@2.1 загрузит 2.1.0, и angularjs@1.2 загрузит 1.2.14. Но приведенная выше ссылка загрузит лишь главные файлы каждого проекта, и ничего больше.
Если вы хотите загрузить несколько файлов одного проекта, то можете сделать следующее:
Далее, вы просто включаете URL в ваш веб-сайт, и все готово. Меньше DNS-запросов, меньше TCP-соединений, меньше HTTP-запросов = более быстрый веб-сайт.
Вы даже можете использовать эту функцию и предложить вашим пользователям конструктор, чтобы дать им возможность генерировать URL с модулями, которые им нужны, а затем загружать их с помощью быстрой CDN.
Настоящий API
jsDelivr имеет полнофункциональный API, который может использоваться разработчиками в своих веб-сайтах для того, чтобы создавать пользовательские модули и все, что только можно представить.
Вы можете запросить именно то, что вам нужно, используя наш API, не загружая огромный JSON-пакет. И он также поддерживает cdnjs и Google. Таким образом, разработчики имеют все, что им нужно для того, чтобы создавать свои приложения.
Автообновления
jsDelivr libgrabber – это утилита, которая готовится к запуску на наших серверах и сможет автоматически обновлять все размещенные проекты, если эта функция будет сконфигурирована. Самое важное – это то, что авторам не надо ничего менять в своих репозиториях. Все изменения производятся на стороне jsDelivr.
Все, что вам нужно – это создать внутри проекта файл update.json с некоторой базовой информацией, который вы хотите автоматически обновлять в репозитории jsDelivr. Этот файл также поддерживает множество источникой для новых версий. Таких как, к примеру, npm, bower и непосредственно Github-репозитории. Эта функциональность по-прежнему находится в стадии разработки, но планируется к запуску в ближайшее время.
Помогите нам – попробуйте это!
jsDelivr – это очень интересный проект, который мне нравится разрабатывать и улучшать. Он также в значительной мере опирается на помощь со стороны сообщества. Рассмотрите возможность использования его на своих веб-сайтах и разместите на нем свои проекты.
И если вы заинтересованы в том, чтобы помочь нам, мы всегда можем принять любую помощь, просто присоединяйтесь к общению на GitHub.
Не стесняйтесь оставлять свои комментарии и задавать мне любые вопросы, которые могут у вас возникнуть.