REST подход -- что это в программировании (рест)

REST -- сокращённие от "Representational State Transfer" — «передача состояния представления».

Что такое REST

REST -- это архитектурный подход, служащий для организации взаимодействия приложений (или компонентов одного приложения) через сеть.

Конкретный способ обмена относится к типу REST, если в нём выполнены выполняются шесть требований:

  1. Используется модель "клиент-сервер" -- т.е. во взаимодействии двух систем в REST одна всегда -- клиент, а другая - -сервер (именно сервер в данном случае реализует и предоставляет клиентам RESTful API, реч о чем пойдёт ниже).
  2. Отсутствует состояние -- т.е. сервер "не запоминает", было ли ранее с этим клиентом взаимодействие. Поэтому каждый запрос обрабатывается как будто сервер "первые видит" запрашивающую сторону (а значит, все необходимые данные, напр., для авторизации клиента, должны передаваться на сервер в каждом запросе).
  3. Кэширование -- клиенты могут кешировать данные, полученные от сервера.
  4. Единообразие интерфейса -- тут четыре невнятных требования, о которых лучше почитать самостоятельно.
  5. Слои/Иерархичность -- на деле сервер может скрываться за другим "прокси"-сервером, это удобно для балансировки нагрузки на серверную часть. Т.е. подразумевается возможность использования иерархии серверов.
  6. Код по требованию (необязательное ограничение) -- возможность подгрузки исполняемого кода с сервера на клиент.

REST как подход Был описан и популяризован в 2000 году Роем Филдингом (Roy Fielding), одним из создателей протокола HTTP. Самой известной системой, построенной в значительной степени по архитектуре REST, является современная Всемирная паутина (Интернет).

Таким образом, идея REST это по сути предложение организовывать работу вашего прикладного протокола обмена данными (т.е. запросов к API сервера) похожим на работу HTTP образом.

Key Words for FKN + antitotal forum (CS VSU):