Технологии

Что такое API: как приложение общается с сервером простыми словами

9 минАктуально на 18 июля 2026

Что такое API

Ты собрал «Змейку», и она работает прямо в браузере. Но пока результат игры хранится только на твоём компьютере: закрыл вкладку — и рекорд исчез. Чтобы сделать таблицу лучших игроков, нужно научить игру общаться с сервером. Именно для этого и существует API. Разберём, что это такое, как устроен запрос-ответ, зачем нужен JSON и что значит REST — на простых примерах из жизни и из твоего проекта.

Содержание
  1. Что такое API простыми словами
  2. Официант, меню и заказ: как работает запрос-ответ
  3. JSON — язык, на котором говорят приложения
  4. REST: когда всё по правилам
  5. Пример из «Змейки»: отправляем рекорд на сервер
  6. Почему это важно именно тебе
  7. Заключение
  8. Что такое REST API
  9. Что такое API-ключ и где его хранить

Что такое API простыми словами

API расшифровывается как Application Programming Interface, то есть «программный интерфейс приложения». Громкие слова, но смысл простой: API — это набор правил, по которым одна программа просит другую программу что-то сделать и получает ответ.

Представь, что ты сидишь в ресторане. Ты не ходишь на кухню и не готовишь еду сам — ты общаешься с официантом. Он принимает заказ, передаёт его поварам и приносит готовое блюдо. Меню — это список того, что ты можешь заказать. Официант — это API. Кухня — это сервер, где происходит основная работа. Ты не знаешь, как именно готовят стейк, но точно знаешь: если сказать официанту «бургер без лука», через некоторое время получишь именно это.

Так же работают приложения. Твоя игра не знает, как устроена база данных на сервере, но знает: если отправить правильный запрос, сервер сохранит рекорд или вернёт список лучших игроков.

Официант, меню и заказ: как работает запрос-ответ

Любое общение через API строится из двух частей: запрос и ответ.

Запрос — это то, что отправляет твоё приложение. В нём обычно есть три важные вещи:

  • Адрес — куда обращаться. В вебе это URL, например https://mygame.supabase.co/rest/v1/scores.
  • Метод — что ты хочешь сделать. Самые распространённые: GET (получить данные), POST (создать новые), PUT или PATCH (изменить), DELETE (удалить).
  • Тело запроса — данные, которые ты передаёшь. Например, имя игрока и набранные очки.

Ответ — это то, что приходит с сервера. В нём тоже есть три ключевые вещи:

  • Статус-код — число, которое говорит, как прошла операция. 200 или 201 означают «всё хорошо», 400 — «ошибка в запросе», 404 — «не найдено», 500 — «проблема на сервере».
  • Заголовки — служебная информация, например в каком формате пришли данные.
  • Тело ответа — сами данные, которые запрашивались, или сообщение об ошибке.

Продолжим аналогию. Ты говоришь официанту: «Принесите, пожалуйста, бургер без лука» — это запрос с методом «заказать». Официант уходит на кухню, а потом возвращается и говорит: «Ваш заказ готов» — это статус 200. Если бургеров закончились, он скажет: «Извините, бургера сейчас нет» — это статус 404 или ошибка из серии 400.

JSON — язык, на котором говорят приложения

Когда программы обмениваются данными, они используют строгие форматы, чтобы не было недопонимания. Один из самых популярных форматов — JSON, JavaScript Object Notation. Не пугайся названия: по сути, это способ записать данные в виде пары «ключ — значение».

Вот как может выглядеть рекорд игрока в JSON:

{
  "player_name": "Анна",
  "score": 42,
  "date": "2026-07-02"
}

Здесь:

  • player_name — ключ, значение "Анна".
  • score — ключ, значение 42.
  • date — ключ, значение "2026-07-02".

JSON понимают почти все языки программирования и сервисы. Он похож на обычный список или таблицу, только записанный так, чтобы компьютер мог быстро разобраться. В курсе ты будешь отправлять именно такие JSON-объекты в Supabase, когда захочешь сохранить результат игры.

REST: когда всё по правилам

REST — это не технология и не язык программирования. Это набор соглашений о том, как должны выглядеть запросы и ответы, чтобы разные системы понимали друг друга. REST расшифровывается как Representational State Transfer, но для практики достаточно запомнить: RESTful API — это API, которое использует стандартные HTTP-методы и чёткие URL.

В REST каждый адрес отвечает за свой тип данных. Например:

URL Метод Что делает
/scores GET Получить список всех рекордов
/scores POST Добавить новый рекорд
/scores/42 PATCH Изменить рекорд с номером 42
/scores/42 DELETE Удалить рекорд с номером 42

Главная идея REST — единообразие. Если ты знаешь, как устроен один REST API, легко разберёшься и с другим. Это как стандартное меню в сети кафе: форма одна, меняется только содержание.

Supabase, который используется в пятом модуле курса, предоставляет автоматический REST API поверх базы данных. Это значит, что ты можешь читать и записывать данные, просто отправляя HTTP-запросы на определённые адреса. Подробнее о формате запросов можно посмотреть в документации Supabase: supabase.com/docs.

Пример из «Змейки»: отправляем рекорд на сервер

Давай соединим всё вместе на примере. Представь, что игрок закончил партию и набрал 87 очков. Игра хочет сохранить этот результат в общей таблице рекордов.

Запрос от игры к серверу:

POST /rest/v1/scores
Host: mygame.supabase.co
Content-Type: application/json

{
  "player_name": "Иван",
  "score": 87
}

Здесь:

  • POST — метод, говорящий: «создай новую запись».
  • /rest/v1/scores — адрес таблицы с рекордами.
  • Content-Type: application/json — заголовок, объясняющий, что данные пришли в формате JSON.
  • Тело запроса — имя игрока и его результат.

Ответ сервера:

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": 152,
  "player_name": "Иван",
  "score": 87,
  "created_at": "2026-07-02T18:30:00Z"
}

Статус 201 Created говорит: «Рекорд успешно сохранён». В ответе сервер прислал ID новой записи и время создания. Теперь этот результат можно показать в таблице лучших игроков.

А если бы в запросе была ошибка — например, не указано имя игрока — сервер вернул бы статус 400 Bad Request и сообщение, что именно пошло не так. Это позволяет быстро понять, где исправить код или запрос.

Почему это важно именно тебе

Без API твоя игра остаётся одиночным островком на твоём устройстве. С API она может:

  • хранить рекорды в общей таблице, чтобы игроки соревновались друг с другом;
  • сохранять прогресс в облаке, чтобы не потеряться при смене браузера или компьютера;
  • получать настройки, новые уровни или скины с сервера без обновления приложения;
  • отправлять события для аналитики, чтобы понимать, как люди играют;
  • встроить нейросеть — например, подключить бесплатный Groq API, чтобы ИИ отвечал игрокам прямо внутри игры.

В курсе ты не будешь писать запросы вручную — Claude Code сделает это за тебя по твоим промптам. Но понимание «что такое запрос», «где тело», «почему пришёл статус 500» поможет тебе ставить задачи точнее и быстрее находить причины ошибок.

Заключение

API — это способ общения между программами. Твоё приложение отправляет запрос, сервер обрабатывает его и возвращает ответ. Данные обычно передаются в формате JSON, а REST помогает стандартизировать адреса и методы, чтобы разные системы понимали друг друга.

В контексте «Змейки» API позволяет отправить рекорд на сервер, получить таблицу лучших игроков и сделать игру по-настоящему сетевой. Это не магия, а всего лишь договорённость: правильный запрос — правильный ответ. Когда ты это поймёшь, работа с Supabase и любыми другими сервисами станет гораздо прозрачнее.

Что такое REST API

REST API — самый распространённый «диалект» API в вебе. Его идея проста: каждая вещь на сервере (игрок, рекорд, товар) имеет свой адрес-URL, а действия над ней выражаются стандартными методами HTTP. GET /scores — получить список рекордов, POST /scores — добавить новый, DELETE /scores/42 — удалить рекорд с номером 42. Ответы приходят в формате JSON.

Красота REST в предсказуемости: увидев адрес и метод, разработчик (и ИИ-ассистент) сразу понимает, что произойдёт. Когда просишь Claude «сделай API для таблицы рекордов», он почти наверняка сделает именно REST — это стандарт по умолчанию.

Что такое API-ключ и где его хранить

API-ключ — это «пропуск», по которому сервер понимает, кто к нему обращается. Без ключа сервис либо не ответит вовсе, либо ответит с жёсткими ограничениями. Ключ выдаётся в личном кабинете сервиса и выглядит как длинная случайная строка.

Относись к ключу как к паролю. Его нельзя вставлять в код, который попадёт в публичный репозиторий или в браузер пользователя. Ключи хранят в специальном файле .env, который исключён из публикации. Подробно о том, как устроено безопасное хранение ключей и что делать, если ключ всё-таки утёк, — в статье «Хранение секретов и токенов: .env и безопасность».

Читай дальше

Все статьи

Не просто статьи — тебя доведут до результата

В практикуме за 1999 ₽ рядом живая команда практикующих разработчиков и маркетологов: ведём по шагам до твоего работающего приложения. Не «ролики и сам разбирайся» — помогаем на каждом затыке.

Перейти к практикуму
Все статьи Ещё: технологии и архитектура