Библиотеки Джаваскрипта на сторонних сайтах
Наверное, большинство почувствовало вчера, что большинство сайтов «Гугла» были неработоспособны. Не знаю с чем там были связаны проблемы, мне и не интересно, интересно другое — не работали и некоторые сайты, которые сервисами «Гугла» не являются. Например, мой любмый «Стековерфлоу».
Догадываетесь почему?
Догадываетесь, наверное, по картинке видно, да и заголовок подсказывает. «Стековерфлоу» грузит библиотеку jQuery со специального сервиса «Гугла», вся разгадка.
Даже не знаю как относиться к этой истории. С одной стороны, хочется немедленно перестать пользоваться хостингами JS-библиотек, раз такие проблемы могут иметь место, с другой стороны — пока это единичный случай.
Собственно поэтому я избавился от гугл аналитики и ихних шрифтов. Внешние ресурсы это всегда риск что они упадут. Часто раздражает ещё что youtube видео добавишь.. потом через пол года смотришь — а видео уже недоступно. До полной независимости как у президента РФ конечно далеко что-бы эти видео хостить у себя, но я со своим блогом и движком к этому движусь. Негоже доверять гуглу и фейсбуку в хранении моих данных.
Комментарий для Михаил:
Будет ждать до таймаута, тоже плохо.
Как называется утилитка со скриншота?
Комментарий для Олег:
Это не утилитка. Это встроенная в «Сафари» функциональность.
Ну не единичный случай. Когда пару месяцев назад падал Яндекс — была та же проблема.
Не единичный, с год назад гугл тоже лежал, регулярно такое происходит. Еще с этими же скриптами проблема, когда что-то локально делаешь и интернет плохой-медленный-отваливается.
Разве суть встреивания jQuery с гугла не в том, что будучи однажды загруженной библиотека кешируется и читается из кеша каждый раз, когда на очередном сайте браузер обнаруживает ссылку на jQuery с гугла?
Иными словами, если я однажды сходил на сайт, использовалася jQuery с гугла, то загружая все остальные сайты, которые так-же используют jQuery с гугла, браузер поднимет jQuery из кеша.
В таком случае, если очень редко (или никогда не) очащать кеш, библиотека скорее всего уже будет у клиента.
Комментарий для gmile:
Кэширование сработает, если не указана версия библиотеки. Но я так не рискую, ибо с совместимостью иногда бывают кранты. Поэтому всегда указываю конкретную версию.
Какова вероятность, что другие разработчики загружают точно ту же версию?
Комментарий для gmile:
В этом. С чем вы видите противоречие?
Где-то в 2009-м нарвался на эту же проблему. С тех пор, по возможности, всё у себя…
Касаемо ajax.googleapis.com стоит отметить, что могут быть такие места, где проблемы с гуговой доступностью могут носить перманентный, административный характер, Китай какой-нить например — слышал что-то.
Так что я его всегда использую с чем-то в духе «if (typeof jQuery == ’undefined’)...». Но про таймаут это да, плохо. Хотя если оно не резолвится вовсе, или резолвится туда, где вместо жквери отдают великую китайскую заглушку, то может быть не так все и плохо будет.
Для ориентированных на Россию ресурсов я лично yandex.st предпочитаю. По крайней мне он видится «ближе» на 40мс. Так что не гуглем единым, но еще и отечественным Яндексом. Да и у Microsoft подобный CDN тоже есть. Интересно, кто из них чаще лежал.
А ajax.googleapis.com теперь все, под контроль — в pingdom, видимо, придется добавить)
О, не знал что у яндекса есть публичный CDN, спасибо!
Комментарий для Эдуард Б.:
Я использовал раньше именно этот хостинг, в частности, у меня оттуда подгружалась отличная библиотека Вани Сагалаева для расцвечивания исходного кода: http://api.yandex.ru/jslibs/libs.xml#highlightjs
Интересно, спасибо!