REST API — это такой подход к построению API, который опирается на принципы архитектуры REST (Representational State Transfer) и использует обычные HTTP-запросы. Не новая технология, а именно стиль: договорились работать по определённым правилам — вот и получился RESTful сервис.
Если говорить практичнее, REST API — это способ организовать общение клиента и сервера через стандартные методы HTTP. Обычно всё крутится вокруг нескольких базовых действий: GET — получить данные, POST — создать что-то новое, PUT — обновить уже существующее, DELETE — удалить. За счёт этого взаимодействие получается довольно прозрачным и предсказуемым.
Основная идея REST — развести клиента и сервер по ролям и упростить интерфейс между ними. Клиент только запрашивает или отправляет данные, сервер их обрабатывает и хранит, а общение идёт поверх стандартных протоколов, в первую очередь HTTP. Никакой магии, просто аккуратная организация.
Если объяснять совсем по-человечески, REST API — это лёгкий и понятный способ гонять данные по интернету: запрос отправили — ответ получили, всё в более-менее очевидной форме. Благодаря этому такие API легко встраиваются в веб-приложения и мобильные клиенты.
Важно не путать: REST — это не конкретный фреймворк и не библиотека, а набор принципов. Поэтому реализаций RESTful API много, но общие подходы у них похожие. На практике именно такой стиль сейчас доминирует в разработке сайтов, мобильных приложений и разных облачных сервисов.
При грамотной реализации REST API помогает строить системы, которые хорошо масштабируются, спокойно выдерживают рост нагрузки и нормально обслуживаются разработчиками. Поэтому его и выбирают, когда хочется не усложнять архитектуру, а сделать её удобной и для клиентов, и для серверной части.
