Обьясните пожалуйста, что такое RESTfull приложения?
RESTful приложения - это приложения, которые соответствуют архитектурному стилю REST.
REST - Representation State Transfer. Идея заключается в том, что запрос ресурса с сервера переводит приложение в определённое состояние. Следующий запрос это состояние, как результат, меняет. Затем он возвращается, но не в виде сырых данных, вытянутых из БД, а в виде представления.
Существует 5 основных принципов REST:
1. Каждый объект должен иметь свой Id.
2. Объекты должны быть связаны по-логике.
3. Используйте стандартные методы HTTP
4. Одни и те же ресурсы можно вернуть в разных представлениях: в каком-то удобном для машины формате или понятном представлении для пользователя.
5. RESTful сервис должен прямо отвечать на запрос, независимо ни от чего (истории запросов и тд). Проще говоря, если пользователь 300 раз нажмёт на одну и ту же кнопку, результат должен быть таким же, что и при однократном нажатии.