Как известно, сегодня все больше и больше разработчиков предпочитают грузить js-библиотеки из CDN Google (например, jQuery). Более того, это даже считается хорошим тоном — в более чем 50% случаев тот же jQuery находится в кэше браузера пользователя благодаря посещению других сайтов, использующих тот же CDN. И все бы хорошо — к вашему серверу меньше обращений, у пользователя сайт грузится быстрее… Видимых недостатков нет.

А что если вы работаете на глобальном рынке? Использованием googleapis вы сразу отсекаете огромную часть пользователей из Китая!

Большой китайский фаервол блокирует не только поисковик от Google, но и все его сервисы, в числе которых и CDN. Таким образом, в Китае Ваш сайт становится либо недоступен (если Вы подключаете jQuery до body), либо работает не совсем так, как вы ожидаете (если jQuery подключается в конце кода). То же самое касается шрифтов от Google, графиков от Google, reCaptcha от Google и всего остального «от Google».

Вывод: Если Вам интересны пользователи из Китая — следует пересмотреть свое мнение на предмет загрузки библиотек или шрифтов с гугловских CDN.

P.S. Даже если Ваш сайт не ориентирован на китайскую аудиторию — подумайте о тех ваших пользователях, которые могут оказаться в Китае проездом или в командировке.

Простейший пример — попытка регистрации на habrahabr.ru из Китая:

image

Сервис выдает ошибку: Необходимо разгадать капчу

А капчи нет. Потому что reCaptcha — «от Гугл».

Комментарии (28)


  1. kalininmr
    31.05.2018 11:03

    хм. наверное както можно решить проблему. хотя очень неудобно. да и с рекапчу у себя не продублируешь


  1. j_wayne
    31.05.2018 11:22
    +1

    > О вреде CDN, сервисов и шрифтов от Google

    Мне одному кажется, что вредны на самом деле не CDN и Google?..


    1. Areso
      31.05.2018 11:30

      Вреден подход, при котором ты не можешь ничего сделать, потому что считается по умолчанию, что CDN доступен всегда и везде, и никаких экспепшенов на обратную ситуацию не предусмотрено by design


      1. kalininmr
        31.05.2018 21:28

        во во. было б логично иметь возможность давать списки урлов зеркал для ресурсов.


      1. roscomtheend
        01.06.2018 09:22

        А если в Китае окажется заблокированным весь сайт, потому как провайдер не понравился (или не в Китае)? Вреден подход, при котором удобное средство внезапно оказывается заблокированным от желания левой пятки, свой сервер со статикой тоже не гарантия — разместишь не там и так же не получится (это если не попадёт за компанию с основным).
        kalininmr — доблестный РКН обяжет провайдеров «блокировать ресурс, все его IP при изменении их и все зеркала изх официального списка».


  1. Boomburum
    31.05.2018 11:28

    Хм, а к чему приведён скриншот ID.TMTM, если там сейчас рекапча не используется?


    1. Shaz
      31.05.2018 11:29

      Но ведь если бы была — то на хабру не смогли бы регаться китайцы!


  1. Wexter
    31.05.2018 11:30
    +1

    Хм, мне кажется пользователь который едет в Китай должен знать что там не работает большая часть интернета. И явно виноваты в этом не те кто использует CDN/шрифты/капчу гугла


    1. Areso
      31.05.2018 11:39

      Ничего, что Китай это больше миллиарда пользователей Интернета?
      К тому же, запрещать и не пускать может произойти где и когда угодно. От Северной Кореи и до Кубы, включая остановки в Китае, в России, Индии (да-да, еще 1 млрд!), в Казахстане, в Иране, Йемене, и т.п. и т.д.


      1. Wexter
        31.05.2018 11:40

        И что с того? Предлагаете тратить деньги на содержание своего хостинга в той стране где блокируют CDN? А что если завтра и ваш хостинг будет неугоден и его тоже заблокируют?


        1. Areso
          31.05.2018 12:00

          Нет. Я предлагаю сделать асинхронную, неблокирующую загрузку с CDN — раз, и если загрузка не произошла в таймаут, то загружать ресурсы с сервера, с которого раздается и сам сайт, исходя из предположения, что если сайт открывается, то и jQuery с этого же веб-сервера тоже подгрузится.
          А если сайт не открывается целиком, то и проблемы с jQuery / капчей нет. Нет сайта — нет капчи — нет проблемы. А в обратном случае непонятно, сайт вроде есть, а он не работает. Почему — непонятно (капча, jQuery, другие библиотеки, соцкнопочки, GA/YM/другие счетчики по списку).



          1. roscomtheend
            01.06.2018 09:35

            А вот это интересный и достойный реализации подход. И не про Китай, а про надёжность — и облака, бывают, падают (пусть и на время), DDOS на хостинг, переконфигурация. Вот капчу отключать нельзя, иначе есть крутой лайфхак (или нужно что-то придумывать, переходить на альтернативную, но ставить на контроль пользующихся таким — альтернативная явно хуже, была бы лучше — использовалась бы она, для контроля нужен администратор — затраты, принесут ли китайцы тот профит? они, может, заказать ничего не смогут, как и пара уехавших туда, да и рекламу вырежут или она не попадёт из-за блокировок гугла, затраты есть, но спущены в /dev/null).


          1. lubezniy
            02.06.2018 12:30

            Идея здравая, но есть нюанс: в случае серьёзного отказа CDN вся нагрузка по раздаче файлов ляжет на сервер сайта и канал, через который этот сервер подключен. Соответственно в случае сколь-нибудь критичных требований по аптайму вместе с высокой посещаемостью есть смысл позаботиться о хотя бы холодном резервировании раздачи, чтобы соответствующие мощности можно было быстро ввести в строй, даже если сервер под высокой нагрузкой на него и на канал будет едва откликаться на консоль.


      1. demimurych
        31.05.2018 17:33

        На самом деле около 540 тысяч.
        Хотя, конечно, тоже цифра внушительная.


  1. vilgeforce
    31.05.2018 12:15
    +1

    Вреден не CDN и не Гугл, а государственное регулирование интернетов


  1. CrocodileRed
    31.05.2018 12:32

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


    1. remzalp
      31.05.2018 13:29

      Знаете, вспоминая события начала мая, лучше не дописывать только "Китай", когда в одной стране из-за ковровых блокировок сервисы гугла и прочего CDN не всегда успешно работали.


      1. CrocodileRed
        31.05.2018 13:43

        Тогда так: «О вреде CDN, сторонних сервисов, распределенных систем и, возможно, шрифтов». В общем, над заголовком необходимо работать.


  1. sim3x
    31.05.2018 13:46

    в более чем 50% случаев тот же jQuery находится в кэше браузера пользователя
    уже есть статистика в открытом доступе, подтверждающая данное утверждение?


  1. fukkit
    31.05.2018 20:26
    +2

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


  1. Drag13
    31.05.2018 21:38

    Для этого есть fallback-и. В итоге все в выиграше.


  1. maolo
    31.05.2018 22:27

    Давно уже не пользуюсь гугло-поиском, но сегодня меня не устроили результаты Яндекса, решил на гугле посмотреть — при переходе с Яндекса на Гугл (с яндекса есть ссылки на другие поисковики — да, это тоталитарный поисковик, не то, что свободный гугл, не предлагающий альтернатив :))
    Два раза я разгадывал капчу — страница перезагружалась и снова здравствуй капча! Я понимаю. что это связано с крестовым походом РКН на телегу, но мне важен результат — не работает гугло-поиск, да и х*р с ним!

    P.S. Интересно, что другие гугловские сервисы — доки и ютуб — не требуют капчи
    P.P.S. Нынешнее местоположение — Петрозаводск


    1. UksusoFF
      31.05.2018 23:53

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


      1. maolo
        31.05.2018 23:56

        > Этот тоталитарный поисковик уже предпринимал попытки сначала запрятать,
        Не знаю, как оно было и было ли…
        Факт в том, что за 4 года, что я пользуюсь Яндексом ссылки на другие поисковики были и есть — никуда они не исчезают, а в гугле их сроду не было.


    1. roscomtheend
      01.06.2018 09:42

      не то, что свободный гугл, не предлагающий альтернатив

      Это связано с серым адресом, никогда дома и на прошлых местах работы капчи не было (белые адреса с понятным списком использующих), а здесь есть. БЦ с единым выходом и кучей народа с непонятно какими запросами. Результат — капча.


      Свободному гуглу же просто нет дела до альтернативных поисковиков, зачем ему Яндекс? Это локальный поисковик одной из стран, тогда в качестве альтернативных нужно добавлять все национальные. В Яндексе никакой англоязычный поиск (а учитывая тенденции к цензуре и русскоязычный стоит перепроверять альтернативными поисковиками) — потому переходы.


    1. Massacre
      01.06.2018 12:14

      Если с вашего IP хулиганили — будет капча. А ещё там раньше любили давать капчу на IPv6…


  1. qrKot
    01.06.2018 07:37

    Вы меня, извините, конечно, но статья какая-то провокационная.
    Посыл из заголовка: «CDN и сервисы гугла вредны».
    Доказательство: «Их могут заблокировать».
    Одному мне логическая цепочка «штука X вредна, потому что ее могут поломать» кажется несколько странной? Мне кажется, тут классический пример путаницы между причиной и следствием.