Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Библиотеки Джаваскрипта на сторонних сайтах

Наверное, большинство почувствовало вчера, что большинство сайтов «Гугла» были неработоспособны. Не знаю с чем там были связаны проблемы, мне и не интересно, интересно другое — не работали и некоторые сайты, которые сервисами «Гугла» не являются. Например, мой любмый «Стековерфлоу».

Догадываетесь почему?

Загрузка «Стековерфлоу» (51.95КиБ)

Догадываетесь, наверное, по картинке видно, да и заголовок подсказывает. «Стековерфлоу» грузит библиотеку jQuery со специального сервиса «Гугла», вся разгадка.

Даже не знаю как относиться к этой истории. С одной стороны, хочется немедленно перестать пользоваться хостингами JS-библиотек, раз такие проблемы могут иметь место, с другой стороны — пока это единичный случай.

15 комментариев
Михаил 2011

<script>window.jQuery || document.write(’<script src=«/themes/v2/js/jquery-1.7.1.min.js»><\/script>’)</script>

Artjom Kurapov (kurapov.name) 2011

Собственно поэтому я избавился от гугл аналитики и ихних шрифтов. Внешние ресурсы это всегда риск что они упадут. Часто раздражает ещё что youtube видео добавишь.. потом через пол года смотришь — а видео уже недоступно. До полной независимости как у президента РФ конечно далеко что-бы эти видео хостить у себя, но я со своим блогом и движком к этому движусь. Негоже доверять гуглу и фейсбуку в хранении моих данных.

Евгений Степанищев (bolknote.ru) 2011

Комментарий для Михаил:

<script>window.jQuery || document.write(’<script src=«/themes/v2/js/jquery-1.7.1.min.js»><\/script>’)</script>

Будет ждать до таймаута, тоже плохо.

Олег 2011

Как называется утилитка со скриншота?

Евгений Степанищев (bolknote.ru) 2011

Комментарий для Олег:

Это не утилитка. Это встроенная в «Сафари» функциональность.

Виктор 2011

Ну не единичный случай. Когда пару месяцев назад падал Яндекс — была та же проблема.

Александр Бабаев (bealex.moikrug.ru) 2011

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

gmile 2011

Разве суть встреивания jQuery с гугла не в том, что будучи однажды загруженной библиотека кешируется и читается из кеша каждый раз, когда на очередном сайте браузер обнаруживает ссылку на jQuery с гугла?

Иными словами, если я однажды сходил на сайт, использовалася jQuery с гугла, то загружая все остальные сайты, которые так-же используют jQuery с гугла, браузер поднимет jQuery из кеша.

В таком случае, если очень редко (или никогда не) очащать кеш, библиотека скорее всего уже будет у клиента.

boltai-shaltai 2011

Комментарий для gmile:

Кэширование сработает, если не указана версия библиотеки. Но я так не рискую, ибо с совместимостью иногда бывают кранты. Поэтому всегда указываю конкретную версию.

Какова вероятность, что другие разработчики загружают точно ту же версию?

Евгений Степанищев (bolknote.ru) 2011

Комментарий для gmile:

Разве суть встреивания jQuery с гугла не в том, что будучи однажды загруженной библиотека кешируется и читается из кеша каждый раз, когда на очередном сайте браузер обнаруживает ссылку на jQuery с гугла?

В этом. С чем вы видите противоречие?

rmcreative.ru 2011

Где-то в 2009-м нарвался на эту же проблему. С тех пор, по возможности, всё у себя…

Эдуард Б. 2011

Касаемо ajax.googleapis.com стоит отметить, что могут быть такие места, где проблемы с гуговой доступностью могут носить перманентный, административный характер, Китай какой-нить например — слышал что-то.

Так что я его всегда использую с чем-то в духе «if (typeof jQuery == ’undefined’)...». Но про таймаут это да, плохо. Хотя если оно не резолвится вовсе, или резолвится туда, где вместо жквери отдают великую китайскую заглушку, то может быть не так все и плохо будет.

Для ориентированных на Россию ресурсов я лично yandex.st предпочитаю. По крайней мне он видится «ближе» на 40мс. Так что не гуглем единым, но еще и отечественным Яндексом. Да и у Microsoft подобный CDN тоже есть. Интересно, кто из них чаще лежал.

А ajax.googleapis.com теперь все, под контроль — в pingdom, видимо, придется добавить)

Аноним 2011

О, не знал что у яндекса есть публичный CDN, спасибо!

Евгений Степанищев (bolknote.ru) 2011

Комментарий для Эдуард Б.:

Для ориентированных на Россию ресурсов я лично yandex.st предпочитаю

Я использовал раньше именно этот хостинг, в частности, у меня оттуда подгружалась отличная библиотека Вани Сагалаева для расцвечивания исходного кода: http://api.yandex.ru/jslibs/libs.xml#highlightjs

runforyou.ru/ 2011

Интересно, спасибо!