Что такое Polling

Ответ

Polling — это техника, при которой клиент периодически отправляет запросы на сервер для проверки обновлений. Это простой, но неэффективный способ, так как создаёт лишнюю нагрузку на сервер, даже если данных для обновления нет.

Пример на JavaScript:

function fetchUpdates() {
  fetch('/api/updates')
    .then(response => response.json())
    .then(data => {
      console.log('New data:', data);
      setTimeout(fetchUpdates, 5000); // Повторяем запрос через 5 сек
    });
}

fetchUpdates();

Альтернативы:

  • WebSockets для двусторонней связи
  • Server-Sent Events (SSE) для push-уведомлений от сервера
  • Long Polling — улучшенная версия polling, где сервер держит соединение открытым, пока не появятся данные

Ответ 18+ 🔞

Да ты посмотри, что за древний способ придумали! Polling, блядь. Это как если бы ты каждые пять секунд подбегал к холодильнику и спрашивал: «Ну что, колбаса появилась? А щас? А теперь?». Серверу, представляешь, пиздец как надоедает, даже когда ему ответить нечего, а ты уже опять стучишься, как назойливая муха.

Вот смотри, как это выглядит в коде, тут всё просто, но до идиотизма:

function fetchUpdates() {
  fetch('/api/updates')
    .then(response => response.json())
    .then(data => {
      console.log('New data:', data);
      setTimeout(fetchUpdates, 5000); // Повторяем запрос через 5 сек
    });
}

fetchUpdates();

Запустил эту функцию — и понеслась, ёпта. Каждые пять секунд, будто заведённый, лезешь на сервер. А там, сука, чаще всего тишина. Трафик жрётся, ресурсы сервера — тоже, а толку — ноль, волнение ебать.

Ну и какие же есть альтернативы, чтобы не быть этим самым ебучим засранцем, который сервер без нужды грузит?

  • WebSockets — это уже серьёзно. Установил одно соединение — и сидишь, общаешься в обе стороны, как по телефону. Данные летят туда-сюда мгновенно, без этих дурацких «Алло, ты тут?».
  • Server-Sent Events (SSE) — штука поинтереснее. Сервер может сам тебе что-то начать слать, когда захочет. Ты просто слушаешь, как радио, и не дергаешься каждую секунду.
  • Long Polling — ну это типа хитрая жопа. Ты спрашиваешь: «Есть что?», а сервер тебе не отвечает, пока сам не созреет. Держит соединение открытым, а как только данные появились — сразу тебе в морду и отвечает. И ты снова спрашиваешь. Чуть умнее, чем тупой поллинг, но всё равно костыль, блядь.

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