Что такое rest api
Архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Другими словами, REST — это набор правил того, как программисту организовать написание кода серверного приложения, чтобы все системы легко обменивались данными и приложение можно было масштабировать. REST представляет собой согласованный набор ограничений, учитываемых при проектировании распределённой гипермедиа-системы. В определённых случаях (интернет-магазины, поисковые системы; прочие системы, основанные на данных) это приводит к повышению производительности и упрощению архитектуры. В широком смысле, компоненты в REST взаимодействуют наподобие взаимодействия клиентов и серверов во Всемирной паутине. REST является альтернативой RPC.
В интернете вызов удалённой процедуры может представлять собой обычный HTTP-запрос (обычно GET или POST; такой запрос называют «REST-запрос»), а необходимые данные передаются в качестве параметров запроса.
Для веб-служб, построенных с учётом REST (то есть не нарушающих накладываемых им ограничений), применяют термин «RESTful».
Oct. 19, 2023, Источник
REST API (Representational State Transfer Application Programming Interface) — это архитектурный стиль взаимодействия компонентов распределенной системы через интернет. Он предлагает набор ограничений для создания веб-сервисов, которые используют стандартные HTTP-методы для обмена данными между клиентом и сервером. Этот стиль был введен Роем Филдингом в его докторской диссертации в 2000 году и быстро стал популярным благодаря своей простоте, масштабируемости и гибкости.
Основные принципы:
1. Клиент-серверная архитектура: Разделение ответственности между клиентом (который запрашивает данные) и сервером (который предоставляет данные) улучшает масштабируемость и упрощает компоненты.
2. Без сохранения состояния (Stateless): Каждый запрос от клиента к серверу должен содержать всю необходимую информацию для его выполнения. Сервер не сохраняет состояние клиента между запросами, что упрощает архитектуру.
3. Кэширование: Ответы сервера должны быть явно помечены как кэшируемые или некэшируемые, что уменьшает нагрузку на сервер и улучшает производительность за счет уменьшения задержки ответа.
4. Единообразный интерфейс: Определяет интерфейс взаимодействия между клиентом и сервером, упрощая и декапсулируя архитектуру системы.
5. Система слоев: Клиент не может знать, общается ли он непосредственно с сервером или с промежуточным узлом, что улучшает масштабируемость системы за счет использования балансировщиков нагрузки, кэшей и т.д.
6. Код по требованию (необязательно): Сервер может временно расширять или настраивать функциональность клиента, передавая ему исполняемый код.
Особенности:
- Использование стандартных HTTP-методов: Таких как GET для получения данных, POST для создания новых ресурсов, PUT для обновления существующих ресурсов, DELETE для удаления ресурсов и т.д.
- Работа с ресурсами: Каждый уникальный URL представляет собой некий ресурс, который может быть представлен в формате JSON, XML или других форматах.
- Безопасность и авторизация: Хотя он сам по себе не определяет механизмов безопасности, обычно используются стандартные методы, такие как HTTPS, OAuth и токены JSON Web Token (JWT) для обеспечения безопасности данных и авторизации доступа.
REST API широко используется для создания веб-сервисов благодаря своей простоте, возможности масштабирования и поддержке стандартных HTTP-операций, делая его популярным выбором для разработки современных веб-приложений и микросервисов.
March 7, 2024, easyoffer
Примеры ответов:
- Рубрика: СОБЕСЕДОВАНИЕ С ПОДПИСЧИКОМ…
- Собеседование тестировщиков - QA eng…
- РАЗБОР вопросов с СОБЕСЕДОВАНИЙ / Ав…
- 64 QA Interviews Stream. 07.05.2022 …
- Собеседования ручных тестировщиков (…
- Собеседования ручных тестировщиков (…
- Automation QA - Вопросы & ответы (ча…
- Automation QA - Собеседование на мик…