Junior
116
questionbank
Какие API можно назвать RESTful?
Ответ от нейросети
sobes.tech AI
RESTful API соответствуют принципам архитектурного стиля REST:
- Клиент-сервер: Разделение обязанностей между клиентом, запрашивающим ресурсы, и сервером, их предоставляющим.
- Stateless (Отсутствие состояния): Каждый запрос от клиента к серверу должен содержать всю необходимую информацию для обработки запроса. Сервер не хранит состояние сессии клиента.
- Cacheable (Кэшируемый): Сервер должен явно или неявно указывать, могут ли ответы быть кэшированы клиентом или посредниками.
- Layered System (Многослойная система): Клиент не может отличить прямой вызов сервера от вызова через промежуточные слои (прокси, балансировщики нагрузки и т.д.).
- Code-On-Demand (Код по запросу - опционально): Сервер может временно расширять функциональность клиента, передавая исполняемый код (например, JavaScript).
- Uniform Interface (Единый интерфейс): Наиболее важный принцип RESTful API. Состоит из четырех ограничений:
- Идентификация ресурсов: Ресурсы идентифицируются по URL.
- Манипуляция ресурсами через представления: Клиент взаимодействует с ресурсами получая представления ресурсов (например, в формате JSON, XML).
- Самоописывающиеся сообщения: Каждое сообщение содержит достаточно информации для обработки, включая метаданные о том, как обработать сообщение и ресурс.
- HATEOAS (Hypermedia as the Engine of Application State): Сервер должен содержать гиперссылки в своих ответах, позволяющие клиенту обнаружить доступные действия и переходить между состояниями приложения. Это наименее часто выполняемый принцип.
RESTful API используют стандартные HTTP-методы (GET, POST, PUT, DELETE, PATCH) для операций над ресурсами, идентифицируемыми URI.
Например, GET-запрос к /api/users/123 получает представление пользователя с ID 123.