Ответ
Основные методы HTTP определяют действие, которое клиент хочет выполнить над ресурсом на сервере. Их правильное использование является основой для построения RESTful API.
Ключевые свойства методов:
- Безопасный (Safe): метод не изменяет состояние ресурса на сервере. К таким методам относятся
GET
иHEAD
. - Идемпотентный (Idempotent): многократное повторение одного и того же запроса приводит к тому же результату, что и одиночный запрос.
GET
,PUT
,DELETE
являются идемпотентными.
Основные методы:
-
GET
- Назначение: Запрос на получение ресурса. Данные передаются через URL-параметры.
- Свойства: Безопасный, идемпотентный.
- Пример: Получение списка товаров, загрузка веб-страницы.
-
POST
- Назначение: Создание нового ресурса. Данные передаются в теле запроса.
- Свойства: Не является идемпотентным (повторный запрос создаст еще один ресурс).
- Пример: Регистрация пользователя, отправка сообщения в чат.
-
PUT
- Назначение: Полное обновление (замена) существующего ресурса. Если ресурс не существует, он может быть создан.
- Свойства: Идемпотентный (повторное обновление теми же данными даст тот же результат).
- Пример: Обновление профиля пользователя, заменяя все его поля.
-
PATCH
- Назначение: Частичное обновление существующего ресурса. В теле запроса передаются только изменяемые поля.
- Свойства: Не является идемпотентным по определению, хотя может быть реализован как таковой.
- Пример: Изменение только имени пользователя, не затрагивая другие поля.
-
DELETE
- Назначение: Удаление ресурса.
- Свойства: Идемпотентный (повторное удаление уже удаленного ресурса вернет тот же статус, например,
404 Not Found
). - Пример: Удаление статьи или комментария.