1. Клиент-серверная архитектура - модель взаимодействия, при которой клиент отправляет запросы, а сервер обрабатывает их и возвращает ответы. Клиентом может быть браузер или мобильное приложение. Сервер выполняет бизнес-логику, обрабатывает данные и обеспечивает доступ к ресурсам. API представляет собой контракт взаимодействия, определяющий адреса запросов, методы, заголовки, форматы данных, возможные ошибки и требования к аутентификации.

 

2. Ресурс в REST API - объект или коллекция объектов, доступных через определённый URI. Например, /api/books обозначает коллекцию книг, а /api/books/7 — конкретную книгу с идентификатором 7. REST организует взаимодействие вокруг ресурсов, а HTTP-методы определяют действия над ними.

 

3. CRUD обозначает четыре основные операции с данными: Create — создание, Read — чтение, Update — изменение и Delete — удаление. В HTTP для чтения обычно применяется GET, для создания — POST, для полной замены ресурса — PUT, для частичного изменения — PATCH, для удаления — DELETE. Выбор метода должен соответствовать назначению операции.

 

4. JSON - текстовый формат представления структурированных данных с помощью объектов, массивов и значений. Он широко используется для обмена информацией между клиентом и сервером. Валидация необходима для проверки обязательных полей, типов, форматов и допустимых диапазонов значений. Сервер должен самостоятельно проверять данные, даже если проверка уже выполнялась в браузере, поскольку клиентские проверки можно обойти.

 

5. Код 200 OK означает успешный запрос, 201 Created — создание ресурса, 204 No Content — успешный ответ без тела. Код 400 Bad Request сообщает об ошибке данных, 401 Unauthorized — о необходимости аутентификации, 403 Forbidden — об отсутствии разрешения на операцию. Версионирование API помогает изменять интерфейс без нарушения работы существующих клиентов. Документация, например в формате OpenAPI, описывает маршруты, методы и схемы данных. Для больших коллекций могут использоваться пагинация, сортировка и фильтрация.