Основные принципы, лежащие в основе REST API:
- Клиент-серверная архитектура. 1 Система должна быть разделена на клиент и сервер таким образом, чтобы клиент не был связан с хранением данных на сервере, а сервер — с интерфейсом и состоянием клиента. 1
- Отсутствие состояния. 13 Сервер не должен хранить данные о состоянии сессии в промежутках между запросами и ответами. 1 Вся необходимая информация для обработки запроса и идентификации клиента должна передаваться в самом запросе. 1
- Возможность кешировать ответ. 1 Кеширование позволяет повысить производительность за счёт использования сохранённых ранее данных. 1 При этом клиент должен точно знать, какая информация закеширована, а какая нет, чтобы при повторном запросе к серверу не использовать устаревшие или некорректные данные. 1
- Многослойная система. 1 Между клиентом и сервером можно добавлять промежуточный сервер, что позволяет обеспечивать безопасность и балансировку нагрузки, использовать общий кеш и улучшать масштабируемость. 1
- Единый интерфейс. 3 Все данные должны запрашиваться через один URL-адрес стандартными протоколами, например, HTTP. 2 Это упрощает архитектуру сайта или приложения и делает взаимодействие с сервером понятнее. 2
- Предоставление кода по запросу. 2 Серверы могут отправлять клиенту код по требованию (например, скрипт для запуска видео). 2 Так общий код приложения или сайта становится сложнее только при необходимости. 2