Back to questions
Senior
6
Какие виды веб-API вы знаете? Чем REST отличается от RPC по сути?
Companies where asked
техвил
Answer from AI
sobes.tech AI
Веб-API бывают разных видов, основные из них:
- REST (Representational State Transfer) — архитектурный стиль, использующий HTTP методы (GET, POST, PUT, DELETE) для работы с ресурсами, которые идентифицируются URI. REST ориентирован на ресурсы и их состояния.
- RPC (Remote Procedure Call) — вызов удалённых процедур или функций, где клиент вызывает методы сервера как будто локальные. Обычно передаются имена методов и параметры.
- GraphQL — язык запросов, позволяющий клиенту запрашивать ровно те данные, которые нужны.
Отличия REST от RPC:
- REST работает с ресурсами и их состояниями, а не с вызовом функций.
- В REST операции стандартизированы HTTP методами, в RPC — вызываются конкретные методы с именами.
- REST более ориентирован на структуру данных и их представление, RPC — на действия.
Пример:
REST-запрос для получения пользователя:
GET /users/123
RPC-запрос для получения пользователя:
POST /rpc
{
"method": "GetUser",
"params": { "id": 123 }
}
Таким образом, REST более декларативен и ориентирован на ресурсы, а RPC — на вызов процедур.