Что такое 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 — и чужая документация перестаёт быть китайской грамотой.
Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.





