REST считается альтернативой RPC при проектировании API, потому что REST основан на ресурсах, а RPC — на функциях. 12
Некоторые преимущества REST:
- Разделение клиента и сервера. 1 REST обеспечивает лучшую абстракцию по сравнению с RPC, позволяет отделять детали реализации и предоставляет клиенту стабильные и предсказуемые конечные точки для взаимодействия с сервером. 2
- Открытость. 1 Всё описывается связью между клиентом и сервером, поэтому для понимания, как взаимодействовать с REST API, не требуется внешняя документация. 1
- Дружественность к кэшу. 1 REST — единственный стиль, который позволяет кэшировать данные на уровне HTTP благодаря повторному использованию множества HTTP-инструментов. 1
- Поддержка нескольких форматов. 1 Возможность поддержки нескольких форматов хранения и обмена данными — одна из причин, по которой REST преобладает в сфере создания общедоступных API. 1
При этом каждый подход имеет свои особенности, которые обусловливают его область применения. 2 Выбор зависит от требований, внешних и внутренних ограничений, а также возможностей команды разработки. 2