Идемпотентный метод HTTP — это такой метод, многократное выполнение которого с теми же параметрами приводит к тому же самому результату, что и однократное выполнение. Это не означает, что сам результат должен быть неизменным, но состояние сервера после выполнения должно быть одинаковым.
Примеры идемпотентных методов:
- GET: Получает ресурс. Множественные запросы GET не изменяют состояние сервера.
- HEAD: Получает заголовки ресурса. Аналогичен GET, не изменяет состояние.
- PUT: Создает или заменяет ресурс целиком. Повторное выполнение PUT с тем же телом запроса приведет к тому же состоянию ресурса (он будет перезаписан тем же содержимым).
- DELETE: Удаляет ресурс. Последующие запросы DELETE на тот же ресурс приведут к тому, что ресурс останется удаленным (или будет выдавать ошибку "Не найдено", но состояние удаления сохранится).
Примеры неидемпотентных методов:
Идемпотентный метод HTTP — это такой метод, многократное выполнение которого с теми же параметрами приводит к тому же самому результату, что и однократное выполнение. Это не означает, что сам результат должен быть неизменным, но состояние сервера после выполнения должно быть одинаковым.
Примеры идемпотентных методов:
- GET: Получает ресурс. Множественные запросы GET не изменяют состояние сервера.
- HEAD: Получает заголовки ресурса. Аналогичен GET, не изменяет состояние.
- PUT: Создает или заменяет ресурс целиком. Повторное выполнение PUT с тем же телом запроса приведет к тому же состоянию ресурса (он будет перезаписан тем же содержимым).
- DELETE: Удаляет ресурс. Последующие запросы DELETE на тот же ресурс приведут к тому, что ресурс останется удаленным (или будет выдавать ошибку "Не найдено", но состояние удаления сохранится).
Примеры неидемпотентных методов: