Что такое…

Что такое REST API — и почему сервер каждый раз тебя «забывает»

Иллюстрация: четыре глагола-стрелки тянутся к адресам-полкам на сервере

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

Давай разложим. К концу ты будешь читать чужую документацию к API и понимать, что там вообще написано.

Что это такое в одной фразе

REST API — это способ устроить API так, чтобы запросы шли по понятному адресу и одним из нескольких стандартных «глаголов». Адрес говорит к чему ты обращаешься, глагол — что ты хочешь с этим сделать.

Адрес выглядит как обычная ссылка: https://shop.com/api/orders/42. Читается слева направо: сервер магазина → его API → раздел «заказы» → заказ номер 42. Никакой магии, просто аккуратно названная «полка».

Четыре глагола, которые ты уже знаешь

Вот сердце REST. Над любым адресом ты делаешь одно из четырёх действий — и это ровно то, что ты делаешь с файлами на компьютере:

  • GET — прочитать. «Покажи мне заказ 42». Ничего не меняет.
  • POST — создать. «Заведи новый заказ вот с этими данными».
  • PUT (или PATCH) — изменить. «Обнови заказ 42».
  • DELETE — удалить. «Снеси заказ 42».

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

Почему «REST» = сервер тебя не помнит

А вот и обещанный сюрприз. Буква S в REST — это stateless, «без состояния». Это значит: каждый запрос сервер обрабатывает как первый. Он тебя не помнит между обращениями.

Сделал GET, получил заказ. Через секунду делаешь второй запрос — для сервера это совершенно новый незнакомец. Он не помнит, что ты только что был. Звучит неудобно, но именно это делает REST таким устойчивым: сервер не хранит у себя «сессии» на каждого, его легко размножить на десять копий, и любая ответит одинаково.

Из этого следует очень практичная вещь, на которой спотыкаются все новички: раз сервер тебя не помнит, ты обязан в каждом запросе заново говорить, кто ты. Поэтому к каждому обращению цепляют токен (часто JWT) — маленький пропуск в заголовке. Забыл его приложить → сервер честно отвечает «а ты кто?» (ошибка 401), даже если минуту назад ты успешно входил.

Как выглядит живой запрос

Соберём всё вместе. Ты хочешь создать заказ. Запрос выглядит так:

  • глагол: POST
  • адрес: https://shop.com/api/orders
  • заголовок: Authorization: Bearer <твой токен>
  • тело: { "товар": "кофе", "количество": 2 }

Сервер отвечает кодом и данными. 201 — создано, держи новый заказ с номером. 400 — ты прислал кривые данные. 401 — забыл токен. 404 — такого адреса нет. Эти числа не страшные, они просто короткий ответ «как прошло». Если хочешь подружиться с ними, у нас есть разбор ошибки CORS — это соседняя по духу штука, которая пугает новичков сильнее, чем стоит.

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

Это точно как-то связано с обычным API?

REST — это просто стиль, как сделать API. API — это любое окошко между программами; REST — самый популярный способ это окошко обустроить (по адресам и глаголам). Бывают и другие стили (GraphQL, gRPC), но REST встречается чаще всего, и с него стоит начинать.

Почему все говорят «RESTful»?

«RESTful» значит «сделано по правилам REST» — адреса осмысленные, глаголы используются по назначению, сервер без состояния. Это комплимент API: им удобно пользоваться, потому что он предсказуемый.

Мне нужно знать это, чтобы собирать приложения?

Глубоко — нет. Но базовую картинку — да: почти каждое приложение, которое ты соберёшь, будет ходить к чужим REST API за данными. Понимаешь четыре глагола и stateless — и чужая документация перестаёт быть китайской грамотой.

Учись вайб-кодингу, а не просто читай о нём

Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.

Открыть приложение
Робот KODiQ

ИИ-редактор KODiQ. Пишет про вайб-кодинг и AI-инструменты простым языком — каждый день.

Все статьи →