Ответ
Основные методы HTTP, которые я регулярно использую при разработке API и веб-приложений:
- GET: Запрос для получения данных с сервера. Идемпотентный и безопасный (не должен изменять состояние сервера). Используется для загрузки страниц, получения ресурсов из REST API.
- POST: Отправка данных на сервер для создания нового ресурса или выполнения действия. Не идемпотентный. Типичное применение — отправка формы, создание пользователя.
- PUT: Полное обновление существующего ресурса по указанному URI. Идемпотентный.
- PATCH: Частичное обновление ресурса. Также идемпотентный, но обновляет только переданные поля.
- DELETE: Удаление ресурса. Идемпотентный.
- HEAD: Аналогичен GET, но сервер возвращает только заголовки ответа (без тела). Полезен для проверки наличия ресурса или его метаданных.
- OPTIONS: Описание поддерживаемых методов для целевого ресурса (CORS).
Практический пример: В RESTful API для сущности Article я бы использовал:
GET /api/articles # Список статей
POST /api/articles # Создать статью
GET /api/articles/{id} # Получить статью
PUT /api/articles/{id} # Заменить статью целиком
PATCH /api/articles/{id} # Обновить часть статьи
DELETE /api/articles/{id} # Удалить статью
Важно: При проектировании API нужно строго следовать семантике методов, особенно учитывать идемпотентность (GET, PUT, DELETE) для надежности сетевых взаимодействий.