За аббревиатурой REST (REpresentational State Transfer) стоит модель клиент-серверного приложения, в котором клиент и сервер общаются по stateless протоколу, и программный интерфейс между ними построен с учетом нескольких архитектурных требований.
REST не является технологией, в отличие от SOAP или HTTP. Поэтому нельзя сказать, что приложение использует REST. Приложение может соответствовать модели REST, и тогда говорят, что оно RESTful.
Среди требований к архитектуре RESTful приложения следующие:
- идентификация серверных ресурсов,
- манипуляция ресурсами с помощью представлений (representations),
- самоописательность клиентских запросов,
- гиперсcылки в представлениях для перехода к новым состояниям приложения.
Рассмотрим эти требования одно за другим.