Comments 32
Капитанская статья, да и заголовок желтоват. Почему именно гугл? Такие проблемы могут постичь любой сторонний CDN. А если ты подключаешь в своём проекте с большой клиентской базой библиотеки из сторонних CDN, то виноват не гугл, а только ты сам. Поднимай свою сеть, не надейся на чужих людей, которые тебе ничего не должны.
К слову, недоступность CDN не самая большая проблема. Хуже, если её скомпрометируют, и вместо обычной библиотеки будет отдаваться её вредоносная копия. Такое уже было с jquery.
Google тут вообще не при делах, ни в общем случае, ни как пример для статьи. Особенно для заголовка.
Сори за капитанский ответ, но потому, что гугл заблокирован в Китае, где проживает пятая часть населения планеты. Речь не о том, что CDN — это зло, а о том, что использование именно Google CDN портит ваш сайт для части вашей аудитории.
Выбор CDN'а и само решение его использовать выходит за рамки статьи, потому что это не реклама, а желание сделать интернет доступнее и лучше
Речь не о том, что CDN — это зло, а о том, что использование именно Google CDN портит ваш сайт для части вашей аудитории.
Ну это понятно. Просто гугл и Китай — это один частный пример.
В общем же можно было сказать так: в продакшене не подгружайте жизненно необходимых ресурсов (особенно тех, которые в head) на страницу из внешних источников, если не уверенны на 99% в их доступности. И используйте CDN по назначению, а не просто как внешнее хранилище крохотных css-стилей и js-библиотек.
Я физически проживаю в Китаю и страдаю от того, что у того же StackOverflow загрузка страницы занимает 30 секунд без VPN. Так что для меня это пример ни разу не частный :)
Я абсолютно с вами согласен по поводу head'а, и это один из вариантов решения проблемы.
Статья не является "наездом" на Google — он тут ни при чем. Это призыв к разработчикам починить свои сайты, потому что многие коллеги даже не догадываются о существовании этой проблемы.
Кто-то может и электричество сам производит под ИТ.
А кто-то все в лямды в облаках запихал и радуется… На клиента надо ориентироваться…
Проблема подмены решается сим: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity.
Я как то Cloudflare пользовался бесплатно. Так в один момент их IP попадал под блокировку РКН а потом перестал работать поддомен. Я перенёс на них только поддомен. Видимо они решили что я их услугами не пользуюсь. Сайт остался без изображений и видео.
О, это было бы очень здорово, мне даже сложно представить, сколько новых интересных проблем и решений, это нам принесет.
Расскажите этим людям о Tger Tree Hash. Вместо Tiger хеша можно использовать тот же Sha256 будет Sha256 Tree Hash. И не надо изменять исходный файл для того чтоб не плодить тучи новых хешей которые можно использовать только внутри IPFS.
Преимущества Tree Hash в том что файл можно делить на любые блоки (1024 байта * 2x) и он самопроверяемый.
В таком случае если человек получит файл по ссылке не имея клиента IPFS сможет проверить что файл соответствует хешу в ней.
Кстати формат блока я так и не увидел в документации.
Встраивается и стандартизируется некоторый функционал из них. А так можно плагин сделать который будет перехватывать запрос на загрузку и отдавать из локального хранилища.
Мало было и есть проблем с поддержкой стандартов HTML, CSS и JS среди разных браузеров разных версий, давайте добавим проблемы с поддержкой нестандартных библиотек! Плюс, тогда нужен будет некий менеджер пакетов для этих библиотек, встроенный в сам браузер, который тоже должен быть стандартным для всех браузеров. А уж с версионированием библиотек вообще веселуха начнётся.
Не знаю, но gist.github.com в Китае почему-то заблокирован
Но у меня же нет клиентов в Китае
Кто катался в Крым, мог почувствовать себя в Китае — оттуда часть гугловских ресурсов недоступна. Потому, на некоторых сайтах проблемы. Например недоступно то, что работает на Google App Engine
VPN как решение проблемы
Бесплатный VPN в Opera пока сейчас работает быстро.
Хоть статья и капитанская, но спасибо! Я теперь задумался о смене Google CDN на что-то другое.
… просто у нас крупнейший портал в Сахалинской области, и много "наших" людей ездят в Китай в отпуск или по работе, и при этом продолжают заходит на наш ресурс.
А начали использовать тот же jQuery с Google CDN по одной просто причине — мы живём на острове, и с интернетами у нас полная беда, и для того, чтобы хоть как-то сэкономить ресурсы нашего канала "на внешку" (за пределы Сахалина) и для ускорения загрузки страниц у клиентов, мы для этой самой "внешки" отдаём ресурсы с различных CDN (Google, Yandex, CloudFront).
У нас почему-то на работе не работает market.yandex.ru, какой из сотен фильтров его блокирует нашему админу не понятно. Тот же youtube не открывается, а если кликнуть ссылку на youtube в поисковой выдаче гугла youtube открывается :) в общем че-то мне не нравится этот kerio winroute firewall
Легкий способ потерять клиентов или почему не следует использовать Google CDN