Проверяет знание концепции API и умение различать популярные протоколы веб-взаимодействия.
API (Application Programming Interface) — набор правил для взаимодействия программ. REST API использует HTTP-методы (GET/POST) и стандартные форматы данных (JSON). Отличается от SOAP (строгий XML-протокол) простотой, а от GraphQL — отсутствием гибкости в запросах. Например, REST требует чётких эндпоинтов (/api/users), а GraphQL позволяет клиенту запрашивать нужные поля.
Что такое API:
Интерфейс, позволяющий программам общаться друг с другом.
Пример: мобильное приложение запрашивает погоду через API сервиса.
Сравнение типов API:
REST (Representational State Transfer):
Использует HTTP: GET /api/users, POST /api/orders.
Данные в JSON/XML.
Стандартные статусы: 200 OK, 404 Not Found.
// Пример REST-запроса в Go
resp, err := http.Get("https://api.example.com/users/1")SOAP (Simple Object Access Protocol):
Основан на XML, требует WSDL-схемы.
Сложнее, но безопаснее для банковских систем.
<!-- Пример SOAP-запроса -->
<soap:Envelope>
<soap:Body>
<getUserRequest><id>1</id></getUserRequest>
</soap:Body>
</soap:Envelope>GraphQL:
Клиент сам определяет структуру ответа.
Запрос:
query {
user(id: "1") {
name
email
}
}Ключевые отличия REST:
Простота: Легко тестировать через браузер или curl.
Кэширование: Поддерживает HTTP-кэширование.
Ограничения: Не подходит для сложных запросов с вложенными данными (например, «пользователь + его заказы + комментарии»).
Вывод: REST идеален для большинства веб-сервисов, GraphQL — для сложных клиентов, SOAP — для корпоративных систем.