REST

Representational State Transfer

общие принципы организации взаимодействия приложения/сайта с сервером через протокол HTTP.

Сервер может считаться RESTful, если он соответствует принципам REST
Принципы REST
1. Независимость от состояния (Statelessness)

Сервер не должен запоминать состояние пользователя между запросами — в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

Независимость от состояния означает, что данные, возвращаемые определенным вызовом API, не должны зависеть от вызовов, сделанных ранее.
2. Многоуровневая архитектура (Layered System)

Тут процитирую:

«Layered meaning that the client does not know if the server that is responding is the actually the end server that is serving the resource which is a great principle to enable load balancing and provide shared caches.»

3. Единый унифицированный программный интерфейс

К примеру для получения списка фильмов вы используете URL вида: /videos.com/movies, а для получения информации о конкретном фильме ваш URL будет: /videos.com/movies/1)
4. Кэшируемая архитектура (Cacheable)

Ответ сервера может быть кэширован на определенный период времени и использоваться повторно без новых запросов к серверу.
5. Удобное представление данных


В качестве представления данных объекта передаются данные в формате JSON или XML
4 основных типа HTTP запросов REST-архитектуры

  • GET — для получения (чтение)
  • POST — для создания
  • PUT — для изменения
  • DELETE — для удаления
HTTP статус коды:

Статус коды указывают на результат HTTP запроса.

  • 1ХХ — информационный
  • 2ХХ — успешное выполнение
  • 3ХХ — перенаправление
  • 4ХХ — ошибка клиента
  • 5ХХ — ошибка сервера
Made on
Tilda