HTTP-методы определяют действие, которое клиент хочет выполнить над ресурсом. Основные методы:
GET: Получить ресурс. Идемпотентен (повторные запросы не меняют состояние на сервере).POST: Отправить данные для обработки (например, создать новый ресурс, отправить данные формы). Обычно не идемпотентен.PUT: Создать или обновить ресурс по указанному URI. Идемпотентен (повторный запрос с теми же данными приведет к тому же состоянию ресурса).DELETE: Удалить ресурс по указанному URI. Идемпотентен (после первого успешного запроса, повторные запросы не изменят состояние ресурса, поскольку он уже удален).PATCH: Частично изменить ресурс. Обычно не идемпотентен, так как порядок операций может иметь значение.HEAD: Получить заголовки ответа GET без тела ответа. Идемпотентен.OPTIONS: Получить список поддерживаемых методов для ресурса. Идемпотентен.Идемпотентность означает, что многократное выполнение одного и того же запроса приведет к такому же конечному состоянию системы, как и однократное выполнение. Это касается только побочных эффектов на сервере. Ответы сервера могут отличаться (например, первый DELETE запрос может вернуть 200 OK, а последующие — 404 Not Found).
Примеры неидемпотентных операций:
POST.POST или PATCH.Примеры идемпотентных операций:
GET.PUT.DELETE.Идемпотентность важна при необходимости повторного отправления запросов (например, в случае сетевых сбоев). Сервер может безопасно выполнить идемпотентный запрос повторно, не вызывая нежелательных изменений.